org.gradle.platform.base

## Annotation Type ComponentBinaries

-     @Retention(value=RUNTIME)
       @Target(value=METHOD)
       @Incubating
      public @interface ComponentBinaries

  Declares the binaries that should be built for a custom `ComponentSpec` type. The following example demonstrates how to register a binary for a custom component type using a plugin with a `ComponentBinaries` annotation. Furthermore the plugin registers 'DefaultSampleBinary' as implementation for `BinarySpec`.

       interface SampleComponent extends VariantComponentSpec {}
       interface SampleBinary extends BinarySpec {}
       class DefaultSampleBinary extends BaseBinarySpec implements SampleBinary {}

       apply plugin: MyCustomBinariesPlugin

       class MyCustomBinariesPlugin extends RuleSource {
           @ComponentType
           void register(TypeBuilder<SampleBinary> builder) {
               builder.defaultImplementation(DefaultSampleBinary)
           }

           @ComponentBinaries
           void createBinariesForSampleLibrary(ModelMap<SampleBinary> binaries, SampleComponent component) {
               binaries.create("${component.name}Binary", SampleBinary)
           }
       }