前置條件
這里的例子繼續(xù)使用上一篇的類,你可以如果你懶得看上一篇景醇,那就把上一篇的MyTag 類復制一份就可以了
class MyTag {
String prefix;
String postfix;
MyTag(String prefix, String postfix) {
this.prefix = prefix
this.postfix = postfix
}
@Override
String toString() {
return "$prefix--$postfix"
}
}
定義文件 mytag.properities躺盛, 寫兩個配置
prefix=heng
postfix=ha
定義初始化階段 + 配置階段
// 讀取并賦值
ext.myTagFile = file('mytag.properies')
ext {
myNewTag = readMyTag()
}
MyTag readMyTag() {
logger.quiet("read my tag form file!")
if (!myTagFile.exists()) {
throw new GradleException("mytag.properies not found!")
}
Properties properties = new Properties()
myTagFile.withInputStream {
stream -> properties.load(stream)
}
return new MyTag(properties.prefix.toString(), properties.postfix.toString())
}
執(zhí)行階段
task loadMyTag {
println "$project.ext.myNewTag"
}
執(zhí)行task
//gradlew -q loadMyTag
heng--ha
要注意的地方
這個例子使用了ext 來定義自己的變量寨躁, 如果使用project本來提供的變量,那自己調(diào)整以下便可瑟啃,比如project.version