2016-03-22 2 views
0

Задача PropertyFile довольно идеально подходит для того, что я хочу сделать, и следующее иллюстрирует то, что я хочу сделать:Заменить/добавить свойство в propertyfile

<PropertyFile file="${warSrc}/web/WEB-INF/my.properties"> 
     <entry key="compilationDate" operation="=" type="date" default="now" /> 
    </PropertyFile> 

Я просто хочу, чтобы установить это свойство даты последний скрипт компиляции. К сожалению, эта задача, похоже, не распространяется с моим пакетом муравьев, и, хотя я могу изменить свое рабочее пространство, чтобы иметь его, это означает, что все, кто приносит этот проект, будут делать то же самое, и я хочу использовать только основные задачи ant чтобы избежать этого дополнительного шага настройки.

Какое-то использование задач «Заменить» кажется идеальным, но я не уверен, как использовать их для поиска строки, начинающейся с compilationDate =, а затем заменить оставшуюся часть содержимого текущей датой.

ответ

0

Итак, вопрос, вероятно, показывает, что я муравьиный неофит. Я понял пару вещей, которые уже знали обычные регулярные муравьиные пользователи. Во-первых, что PropertyFile является необязательной задачей в ant.jar, поэтому никакого дополнительного импорта не требуется, но это необязательная задача, которая по-видимому не становится доступной по умолчанию.

Следующий синтаксис определяет задание файла свойств, а затем запускает его, и он почти идеально подходит мне.

<taskdef name="propertyfile" classname="org.apache.tools.ant.taskdefs.optional.PropertyFile" > 
     <classpath> 
      <fileset dir="${ant.library.dir}"> 
       <include name="ant.jar" /> 
      </fileset> 
     </classpath> 
    </taskdef> 
    <echo message="task defined" /> 

    <propertyfile file="my.properties"> 
     <entry key="version" operation="=" type="date" default="now" /> 
    </propertyfile> 
Смежные вопросы