Сохранение метки времени UNIX в свойстве Ant?

#java #ant #timestamp

#java #ant #временная метка

Вопрос:

Я хотел бы сохранить временную метку UNIX (т. Е. секунды с момента эпохи) в свойстве Ant для последующего использования в паре целей сборки. Это кажется невозможным:

 <tstamp>
  <format property="build.time" />
</tstamp>`
  

…генерирует форматированную временную метку.

 <propertyfile file="foo.properties">
    <entry key="build.time" type="date" default="now" />
</propertyfile>
  

…также генерирует форматированную временную метку.

Я надеюсь, что это возможно без использования <exec> или подобного (поскольку мы иногда будем запускать сборку в Windows).

Ответ №1:

Быстрый поиск в Google выдает:

http://www.norio.be/blog/2010/08/getting-unix-time-epoch-ant-build-file

 <target name="print-epoch">
  <script language="javascript">
  <![CDATA[
    property = project.setProperty("now",Math.floor((new Date()).getTime()/1000));
  ]]>
  </script>
  <echo message="${now}" />
</target>
  

Другие подходы, которые были бы более чистыми, IMO заключались бы в

  1. создайте свою собственную anttask. На самом деле это не так сложно;http://ant.apache.org/manual/develop.html

  2. Используйте плагин Maven exec для выполнения Java, чтобы сделать это:http://mojo.codehaus.org/exec-maven-plugin /

Комментарии:

1. Хм, интересно. Я много гуглил, но, думаю, я не включил «эпоху» в свой запрос. Тем не менее, было бы неплохо сделать это без выполнения JavaScript.

2. Да, другой подход, который был бы более чистым, IMO, заключался бы в создании вашей собственной пользовательской anttask. На самом деле это не так сложно; ant.apache.org/manual/develop.html