[英]How to know which project is running in gradle
我有多個項目和一個主干......
有時我需要通過cmd運行:
gradlew Proj1:assembleRelease
還有其他時間:
gradlew Proj2:assembleRelease
我如何在gradle文件中知道構建Proj1或Proj2的內容?
您可以通過任何Project
實例上的gradle
屬性訪問此信息。 來自文檔 :
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.