假设有3个子项目:sub1,sub2和sub3。他们都有任务uploadArchives。如果我们运行gradle uploadArchives,如何将其级联到子项目?

最佳答案

假设您的项目布局如下

gradle-tasks
|- sub1
|- sub2
|- sub3
settings.gradle如下:
include 'sub1', 'sub2', 'sub3'
rootProject.name = 'gradle-tasks'

您的build.gradle是这样的:
allprojects {
    task uploadArchives {
        doLast { task ->
            println "I'm $task.project.name"
        }
    }
}

然后,当您以root身份执行./gradlew uploadArchives时,您将拥有
$ ./gradlew uploadArchives

> Task :uploadArchives
I'm gradle-tasks

> Task :sub1:uploadArchives
I'm sub1

> Task :sub2:uploadArchives
I'm sub2

> Task :sub3:uploadArchives
I'm sub3

引用:https://docs.gradle.org/current/userguide/multi_project_builds.html

关于gradle - gradle如何解释在父级别运行的命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47464838/

10-11 22:44
查看更多