Я новичок в gradle, пожалуйста, помогите мне понять, что я делаю неправильно.
У меня есть куча приложений с собственной работающей системой сборки gradle.Я создал проект, который содержит эти приложения, и я хочу написать задачу, которая охватывает все подпроекты и для каждого из них вызывать «assemblyDebug».
Apps
- AppA
-- app
-- build.gradle
-- settings.gradle
- AppB
-- app
-- build.gradle
-- settings.gradle
В settings.gradle у меня есть
rootProject.name = 'Apps'
include ':AppA', ':AppB'
В build.gradle
allprojects {
repositories {
google()
jcenter()
}
task buildAll {
doLast { task ->
println "Building $task.project.name"
//gradle $task.assembleDebug // also tried assembleDebug
}
}
}
Когда я вызываю gradle buildAll, я вижу сообщение журнала
> Task :buildAll
Building Apps
> Task :AppA:buildAll
Building AppA
> Task :AppB:buildAll
Building AppB
Но когда я раскомментирую строку //gradle $task.assembleDebug
, у меня появляется ошибка
* What went wrong:
Execution failed for task ':buildAll'.
> Could not get unknown property '$task' for task ':buildAll' of type org.gradle.api.DefaultTask.
Когда я вызываю команду из корневого каталога
gradle :AppA:assembleDebug
, я вижу ту же ошибку.Если я вызываю команду из каталога AppA, все работает нормально.
Что происходит?Спасибо