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.
@Managed interface SampleComponent extends ComponentSpec {}
@Managed interface SampleBinary extends BinarySpec {}
apply plugin: MyCustomBinariesPlugin
class MyCustomBinaryCreationTask extends DefaultTask {
@TaskAction void build() {
//building the binary
}
}
class MyCustomBinariesPlugin extends RuleSource {
@ComponentType
void register(TypeBuilder<SampleBinary> builder) {}
@BinaryTasks
void createBinaryTasks(ModelMap<Task> tasks, SampleBinary binary) {
tasks.create("${binary.name}Task1", MyCustomBinaryCreationTask)
tasks.create("${binary.name}Task2") {
dependsOn "${binary.name}Task1"
}
}
}