在我的init.gradle中我有
...
// the last thing in init.gradle
def buildTime() {
def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") //you can change it
df.setTimeZone(TimeZone.getTimeZone("UTC"))
return df.format(new Date())
}
Run Code Online (Sandbox Code Playgroud)
在我的build.gradle中,我想做这样的事情:
task showTime() << {
println buildTime()
}
Run Code Online (Sandbox Code Playgroud)
但我得到"找不到根项目中的参数[]的方法buildTime()......"
Thx提前!
得到了Gradle-Support的答案. http://goo.gl/5uYInH
也许它可以帮助别人......
init文件是与build.gradle文件不同的上下文.但是您可以使用自定义属性或方法(使用闭包)扩展项目对象(build.gradle委托):
init.gradle
import java.text.SimpleDateFormat
gradle.allprojects{
ext.buildTime = {
def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
df.setTimeZone(TimeZone.getTimeZone("UTC"))
return df.format(new Date())
}
}
Run Code Online (Sandbox Code Playgroud)
的build.gradle
task showBuildTime() << {
println buildTime()
}
Run Code Online (Sandbox Code Playgroud)