我有多个项目和一个主干...
有时我需要通过cmd运行:
gradlew Proj1:assembleRelease
其他时间:
gradlew Proj2:assembleRelease
如何在gradle文件中了解构建Proj1或Proj2的内容?
答案 0 :(得分:1)
您可以通过gradle
的任何实例上的Project
属性访问此信息。来自the docs:
getGradle()
返回此项目所属的Gradle调用。
Gradle
的实例提供startParameter
属性,其中包含您想要的信息。例如,在根范围中:
print project.gradle.startParameter
对于我的特定调用,我可以通过
打印第一个任务请求的名称print project.gradle.startParameter.taskRequests[0].args[0]
然而,上述情况可能非常脆弱,在一些重要案件中肯定会失败。
如果上述内容并不能完全符合您的要求,那么您可能会在Gradle
实例中发现许多其他有用的内容,例如此构建的任务执行图和根项目。请注意,以上链接来自Project
类的文档中的以下链接。我强烈建议您仔细阅读本文档。
另一方面,你为什么要这样做?通常,您只需将配置添加到各个项目本身,让任务运行器负责运行您的特定实现,而不是说if task1 is running then x else y