Если вы не хотите использовать JavaScript, вы можете использовать Math task, предоставляемый утилитами Ant-Contrib.
Ant-Contrib довольно старый, и я не знаю, поддерживает ли он их, но они очень популярны для использования в файлах сборки Ant, поскольку они добавляют некоторые очень полезные задачи.
Я рекомендую включить в проект непосредственно ant-contrib-1.0b3.jar
. Когда другие люди используют ваш проект, они также будут иметь баню Ant-Contrib. Я положил ant-lib/ac/ant-contrib-1.0b3.jar
в домашний каталог вашего проекта. Я использую ant-lib
для всех моих дополнительных баночек:
<project name="my.project"
...
xmlns:ac="antlib:net.sf.antcontrib">
...
<taskdef uri="antlib:net.sf.antcontrib"
resource="net/sf/antcontrib/antlib.xml">
<classpath>
<fileset dir="${basedir}/antlib/ac"/>
</classpath>
</taskdef>
....
Теперь вы можете использовать математическую задачу так:
<ac:math result="time.diff"
operation="-"
operand1="${diff.time}"
operand2="${initial.time}"/>
ac:
является XML-пространства имен, который был объявлен в вашем <project/>
сущности, и был связан с вашими задачами с помощью параметра uri
в объекте <taskdef/>
. Это позволяет вам иметь несколько необязательных задач Ant, которые могут иметь задачи с дублирующимися именами. Это хорошая идея, если вы используете несколько дополнительных библиотек задач с одинаковыми именами задач.
Возможный дубликат [Выполнение простых вычислений с использованием собственных муравьев] (http://stackoverflow.com/questions/3619823/performing-simple-calculations-with-native-ant-tasks) – sudocode