ComponentType (Gradle API 2.14)
Date: 2016-06-14

Package: org.gradle.platform.base

## [Java] Annotation Type ComponentType

- org.gradle.platform.base.ComponentType

- Declares 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'.

       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")
           }
       }

- - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`