Declares the tasks to build a custom BinarySpec binary. The following example demonstrates how to register multiple tasks for custom binary using a plugin with a BinaryTasks annotation.
interface SampleComponent extends ComponentSpec {} interface SampleBinary extends BinarySpec {} class DefaultSampleBinary extends BaseBinarySpec implements SampleBinary {} apply plugin: MyCustomBinariesPlugin class MyCustomBinaryCreationTask extends DefaultTask { @TaskAction void build() { //building the binary } } class MyCustomBinariesPlugin extends RuleSource { @BinaryType void register(BinaryTypeBuilderbuilder) { builder.defaultImplementation(DefaultSampleBinary) } @BinaryTasks void createBinaryTasks(ModelMap tasks, SampleBinary binary) { tasks.create("${binary.name}Task1", MyCustomBinaryCreationTask) tasks.create("${binary.name}Task2") { dependsOn "${binary.name}Task1" } } }