为每个子项目调用任务assembleDebug

时间:2018-11-18 13:27:13

标签: android gradle groovy

我是新手,请帮助我弄清楚我在做错什么。

我有一堆具有自己可用的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目录中调用命令,则一切正常。

怎么回事? 谢谢

0 个答案:

没有答案