Declares that a custom
ComponentSpec
type.
The following example demonstrates how to register a custom component type using a plugin with a
ComponentType
annotation.
Furthermore the plugin creates an instance of SampleComponent named 'sampleComponent'.
import org.gradle.model.*
import org.gradle.model.collection.*
interface SampleComponent extends ComponentSpec {}
class DefaultSampleComponent extends BaseComponentSpec implements SampleComponent {}
apply plugin: MySamplePlugin
class MySamplePlugin extends RuleSource {
@ComponentType
void register(ComponentTypeBuilder builder) {
builder.defaultImplementation(DefaultSampleComponent)
}
@Mutate
void createSampleLibraryComponents(CollectionBuilder componentSpecs) {
componentSpecs.create("sampleComponent")
}
}