9

在我的 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())
} 

在我的 build.gradle 我想做这样的事情:

task showTime() << {
    println buildTime()
}

但我得到“在根项目上找不到参数 [] 的方法 buildTime()...”

提前谢谢!

4

1 回答 1

8

从 Gradle-Support 那里得到了答案。 http://goo.gl/5uYInH

也许它可以帮助别人......

init 文件与 build.gradle 文件的上下文不同。但是您可以使用自定义属性或方法(使用闭包)扩展项目对象(build.gradle 委托):

初始化.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())
   }    
}

构建.gradle

task showBuildTime() << {
   println buildTime()
}
于 2013-10-09T10:09:29.573 回答