W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在 Gradle 領域模型中所有被增強的對象能夠擁有自己定義的屬性. 這包括,但不僅限于 projects , tasks , 還有 source sets . Project 對象可以添加,讀取,更改擴展的屬性. 另外,使用 ext 擴展塊可以一次添加多個屬性.
例子 13.3. 使用擴展屬性
build.gradle
apply plugin: "java"
ext {
springVersion = "3.1.0.RELEASE"
emailNotification = "build@master.org"
}
sourceSets.all { ext.purpose = null }
sourceSets {
main {
purpose = "production"
}
test {
purpose = "test"
}
plugin {
purpose = "production"
}
}
task printProperties << {
println springVersion
println emailNotification
sourceSets.matching { it.purpose == "production" }.each { println it.name }
}
使用gradle -q printProperties輸出結(jié)果
> gradle -q printProperties
3.1.0.RELEASE
build@master.org
main
plugin
在上面的例子中,一個 ext 擴展塊向 Project 對象添加了兩個擴展屬性. 名為 perpose 的屬性被添加到每個 source set,然后設置 ext.purpose 等于 null ( null值是被允許的 ). 當這些擴展屬性被添加后,它們就像預定義的屬性一樣可以被讀取,更改值.
例子中我們通過一個特殊的語句添加擴展屬性,當您試圖設置一個預定義屬性或者擴展屬性,但是屬性名拼寫錯誤或者并不存在時,操作就會失敗. Project 對象可以在任何地方使用其擴展屬性 ,它們比局部變量有更大的作用域. 一個項目的擴展屬性對其子項目也可見.
關于擴展屬性更多的細節(jié)還有它的API,請看 ExtraPropertiesExtension 類的 API 文檔說明.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: