У меня есть две независимые задачи для переключения составной сборки:
task enableCompositeBuild {
group = 'Tools'
description = 'Enable composite build'
doLast {
new File(rootDir, ".composite-enable").createNewFile()
}
}
task disableCompositeBuild {
group = 'Tools'
description = 'Disable composite build'
doLast {
File file = file(".composite-enable")
if (file.exists()) {
file.delete()
}
}
}
И у меня есть задача предотвратить зависимости SNAPSHOT от сборки выпуска:
task checkDependsOnSNAPSHOT {
if (version.endsWith("SNAPSHOT"))
return;
project.configurations.compile.each {
if (it.toString().contains("SNAPSHOT"))
throw new Exception("Release build contains snapshot dependencies: " + it)
}
}
build.dependsOn 'checkDependsOnSNAPSHOT'
Теперь я пытаюсь обеспечить отключение композиции при сборке релиза, но не могу понять, как организовать эти задачи по зависимостям для этого. Задача disableCompositeBuild
должна быть выполнена в задаче checkDependsOnSPANSHOT
после первого условия if
, чтобы исключить исключение на втором if
.