读取Gradle构建参数

时间:2014-12-23 00:50:08

标签: gradle build.gradle

我有一个包含子项目的Gradle项目,如果我不想一次构建所有子项目,我可以发出单独的构建命令。例如,

parent
  subprojectA
  subprojectB
  subprojectC

然后我可以发出./gradlew :subprojectA:assemble :subprojectC:assemble之类的命令。我喜欢做的是从正在构建的子项目的每个子项目groupversion值构造一个含义git标记,即groupversion仅用于{在这种情况下,{1}}和subprojectA。我正在考虑编写一个独立的插件来执行此操作,但不确定在构建时何时/如何获取此信息。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

构建脚本中全局提供groupversion(以及任何其他项目属性)。

task myTask << {
    println group + "-" + version
}

如果您正在编写二进制插件,您还可以通过Project方法访问property()对象本身的属性。

def group = project.property('group')

修改

如果要确定是否正在构建特定项目,可以检查TaskExecutionGraph

gradle.taskGraph.whenReady { graph ->
    if (graph.hasTask(':subprojectA:assemble')) {
        println 'Will build subprojectA'
    }
}