Удаление комментария к дате из задачи Apache's PropertyFile - PullRequest
8 голосов
/ 10 августа 2010

Я использую задачу propertyfile, показанную ниже в моем скрипте сборки:

<target name="build-brand" depends="-init" description="Adds version information to branding files.">
    <propertyfile file="${basedir}/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties">
        <entry key="currentVersion" value="${app.windowtitle} ${app.version}" />
    </propertyfile>
</target>

Задача работает должным образом, за исключением того, что каждый раз, когда я собираю проект, строка комментария к дате файла Bundle.properties обновляется с указанием текущей отметки времени. Это происходит, даже если переменная app.version не изменяется и приводит к ненужной фиксации управления версиями, состоящей исключительно из следующего diff:

--- Base (BASE)
+++ Locally Modified (Based On LOCAL)
@@ -1,4 +1,4 @@
-#Thu, 22 Jul 2010 15:05:24 -0400
+#Tue, 10 Aug 2010 13:38:27 -0400

Как я могу предотвратить добавление или удаление этого комментария к дате из файла .properties? Я рассмотрел операцию удаления в вложенном элементе entry файла свойств, но требуется ключевое значение.

Ответы [ 3 ]

5 голосов
/ 13 августа 2010

Это не отличное решение, но как насчет удаления комментария все вместе?

<target name="build-brand" depends="-init" description="Adds version information to branding files.">
    <propertyfile file="${basedir}/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties">
        <entry key="currentVersion" value="${app.windowtitle} ${app.version}" />
    </propertyfile>
    <replaceregexp file="${basedir}/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties" match="^#.*\n" replace=""/>
</target>
1 голос
/ 25 июня 2013

Если вам нужно поместить одно свойство в файл, просто используйте echo:

<echo output="somefiles.properties">lastmodified=${lastmodified}</echo>
0 голосов
/ 10 августа 2010

Попробуйте: <propertyfile file="..." comment="">

Редактировать: что, вероятно, не сработает :(. Похоже, виновник на самом деле Properties.store(OutputStream, String):

Далее всегда пишется строка комментария, состоящая из символа ASCII #, текущей даты и времени (как если бы они были созданы методом toString для Date для текущего времени) и разделителя строк, сгенерированного Writer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...