init.gradle在构建脚本中的功能

时间:2013-10-08 16:22:33

标签: gradle

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

提前谢谢!

1 个答案:

答案 0 :(得分:6)

得到了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())
   }    
}

<强>的build.gradle

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