8
我承認我對gradle很新,但我並不期望無法理解如下例所示的簡單內容。我可以閱讀關於使用hasProperty(String propertyName)調用來檢查項目屬性是否已設置的gradle文檔,我坐在這裏,不知道爲什麼這樣基本的東西不起作用。將屬性傳遞給gradle構建
我相信我的心態要這麼多的「蟻象」爲導向,對於確保我失蹤基本
task printSystem() << {
println system
println "has property: " + hasProperty("system")
}
一些普通和調用該任務與下面的命令:
$gradle printSystem -Psystem=mySystem
mySystem
has property: null
所以我的問題將是:
- 爲什麼系統打印出來,但物業返回
null
? - 我應該如何檢查名爲「system」的項目屬性的存在性?
- 是否有不同的方式來測試項目屬性而不是系統屬性?
- 如何從命令行傳遞系統屬性?
這是從,在gradle這個文件,我相信我讀它的權利
19.2.1。檢查項目屬性
只需使用名稱就可以訪問構建腳本中的項目屬性,就像使用變量一樣。如果此屬性不存在,則會拋出異常並且構建將失敗。如果您的構建腳本依賴於用戶可能設置的可選屬性(可能位於gradle.properties文件中),則在訪問它們之前,您需要檢查是否存在。你可以通過使用hasProperty('propertyName')方法返回true或false。
你有沒有看到我的答案?它解決了他的問題嗎?如果是這樣,請接受它。 – Opal
您的答案在星期五下午抵達,當時我正在享受與我的辦公室同事一週喝完酒的時間:-)我今天測試了您的解決方案並且工作。我希望只要把項目放在一邊,文件就會更清楚。hasProperty('propertyName')',而不是它現在顯示的內容。此外,當某些東西應該返回true或false並返回null時會增加混淆。非常感謝你。 – Julian