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
.
import org.gradle.model.*
import org.gradle.model.collection.*
interface SampleComponent extends ComponentSpec {}
interface SampleBinary extends BinarySpec {}
class DefaultSampleBinary extends BaseBinarySpec implements SampleBinary {}
apply plugin: MyCustomBinariesPlugin
class MyCustomBinariesPlugin extends RuleSource {
@BinaryType
void register(BinaryTypeBuilder builder) {
builder.defaultImplementation(DefaultSampleBinary)
}
@ComponentBinaries
void createBinariesForSampleLibrary(CollectionBuilder binaries, SampleComponent component) {
binaries.create("${component.name}Binary", SampleBinary)
}
}