我是新手,请帮助我弄清楚我在做错什么。
我有一堆具有自己可用的gradle构建系统的应用程序。我创建了一个包含这些应用程序的项目,我想编写一个遍历所有子项目的任务,并为每个子项目调用“ assembleDebug”。
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目录中调用命令,则一切正常。
怎么回事? 谢谢