我有一个多项目构建.子项目采用树形结构(非平面).在root build.gradle文件中,我有一个方法可以为编译阶段做一些常见的事情.
我想为每个子项目分别设置目标目录.因此,当我编译整个项目时,我将为每个子项目拥有自己的工件.我上面提到的方法进行编译,因此需要知道它编译的项目.
如果我使用"gradle:subproject1:subsubproject1:compile"命令,则project.name仍包含根项目名称.但我需要在运行时知道调用方法的任务项目.
问题是:
Amn*_*hot 10
如果在子项目中定义了任务,那么您只需使用project.name获取运行任务的项目的名称.您可以尝试一下,例如将以下代码添加到根项目中的build.gradle:
allprojects {
task printProjName << {
println ">> " + project.name
}
}
Run Code Online (Sandbox Code Playgroud)
然后,执行printProjName任务将产生类似于下面的输出:
:printProjName
>> Gradle
:projA:printProjName
>> projA
:projB:printProjName
>> projB
:projA:projA1:printProjName
>> projA1
:projA:projA2:printProjName
>> projA2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13765 次 |
| 最近记录: |