Scripting 使用本机Ant任务执行简单计算
仅使用本机ANT任务,如何创建自定义ANT任务以执行以下操作:Scripting 使用本机Ant任务执行简单计算,scripting,ant,Scripting,Ant,仅使用本机ANT任务,如何创建自定义ANT任务以执行以下操作: 计算自当地时间2000年1月1日起的天数,并将其存储在属性中 计算自当地时间午夜起的秒数除以2,并将其存储在属性中 上述属性值随后将附加到其他属性并写入文件。ANT不是通用编程语言,因此您需要编写自定义任务或使用类似 下面的示例演示了使用库的groovy任务如何设置您指定的属性 <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpa
- 计算自当地时间2000年1月1日起的天数,并将其存储在属性中李>
- 计算自当地时间午夜起的秒数除以2,并将其存储在属性中
上述属性值随后将附加到其他属性并写入文件。ANT不是通用编程语言,因此您需要编写自定义任务或使用类似 下面的示例演示了使用库的groovy任务如何设置您指定的属性
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>
<groovy>
import org.joda.time.*
def now = new DateTime()
def midnight = new DateMidnight()
def year2000 = new DateTime(2000,1,1,0,0,0,0)
properties["year2000.days"] = Days.daysBetween(year2000, now).days
properties["midnight.seconds"] = Seconds.secondsBetween(midnight, now).seconds
properties["midnight.seconds.halved"] = Seconds.secondsBetween(midnight, now).dividedBy(2).seconds
</groovy>
导入org.joda.time*
def now=new DateTime()
def midnight=new DateMidnight()
def year2000=新日期时间(2000,1,1,0,0,0)
属性[“year2000.days”]=days.daysBetween(year2000,now).days
属性[“midnight.seconds”]=秒。秒之间(现在是午夜)。秒
属性[“midnight.seconds.halved”]=秒。秒之间(现在是午夜)。除以(2)。秒
我不能高度推荐Joda Time,Java中的标准日期和时间操作太差劲了
附加说明
上面的groovy任务需要在类路径上使用以下JAR:
- groovy-all-1.7.4.jar
- joda-time-1.6.1.jar
<target name="resolve">
<ivy:resolve/>
<ivy:cachepath pathid="build.path"/>
</target>
以下是列出要下载的依赖项的ivy.xml:
<ivy-module version="2.0">
<info organisation="org.myspotontheweb" module="demo"/>
<dependencies>
<dependency org="org.codehaus.groovy" name="groovy-all" rev="1.7.4" conf="default"/>
<dependency org="joda-time" name="joda-time" rev="1.6.1" conf="default"/>
</dependencies>
</ivy-module>