簡體   English   中英

如何知道哪個項目在gradle中運行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM