Package org.gradle.platform.base
Annotation Type ComponentType
-
@Retention(RUNTIME) @Target(METHOD) @Incubating public @interface ComponentType
Declares a customComponentSpec
type. The following example demonstrates how to register a custom component type using a plugin with aComponentType
annotation. Furthermore the plugin creates an instance of SampleComponent named 'sampleComponent'.interface SampleComponent extends ComponentSpec {} class DefaultSampleComponent extends BaseComponentSpec implements SampleComponent {} apply plugin: MySamplePlugin class MySamplePlugin extends RuleSource { @ComponentType void register(TypeBuilder<SampleComponent> builder) { builder.defaultImplementation(DefaultSampleComponent) } @Mutate void createSampleLibraryComponents(ModelMap<SampleComponent> componentSpecs) { componentSpecs.create("sampleComponent") } }