W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在 Gradle 領(lǐng)域模型中所有被增強(qiáng)的對(duì)象能夠擁有自己定義的屬性. 這包括,但不僅限于 projects , tasks , 還有 source sets . Project 對(duì)象可以添加,讀取,更改擴(kuò)展的屬性. 另外,使用 ext 擴(kuò)展塊可以一次添加多個(gè)屬性.
例子 13.3. 使用擴(kuò)展屬性
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
在上面的例子中,一個(gè) ext 擴(kuò)展塊向 Project 對(duì)象添加了兩個(gè)擴(kuò)展屬性. 名為 perpose 的屬性被添加到每個(gè) source set,然后設(shè)置 ext.purpose 等于 null ( null值是被允許的 ). 當(dāng)這些擴(kuò)展屬性被添加后,它們就像預(yù)定義的屬性一樣可以被讀取,更改值.
例子中我們通過(guò)一個(gè)特殊的語(yǔ)句添加擴(kuò)展屬性,當(dāng)您試圖設(shè)置一個(gè)預(yù)定義屬性或者擴(kuò)展屬性,但是屬性名拼寫錯(cuò)誤或者并不存在時(shí),操作就會(huì)失敗. Project 對(duì)象可以在任何地方使用其擴(kuò)展屬性 ,它們比局部變量有更大的作用域. 一個(gè)項(xiàng)目的擴(kuò)展屬性對(duì)其子項(xiàng)目也可見(jiàn).
關(guān)于擴(kuò)展屬性更多的細(xì)節(jié)還有它的API,請(qǐng)看 ExtraPropertiesExtension 類的 API 文檔說(shuō)明.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: