Скопировать муравей с абсолютного пути, прочитанного из XML - PullRequest
0 голосов
/ 19 декабря 2011

Моя проблема в том, что мне нужно прочитать исходный путь для задания копирования из файла XML, а затем скопировать все файлы в этом каталоге, прочитанные из файла XML, в другой каталог.

Поскольку код больше слов:

<xmltask source="${projectfile}">
  <copy path="Project/RecentResultsInfo/ResultsDirectoryOfRecentLoadTest/text()" property="recentdir" attrValue="true"/>
</xmltask>
<copy todir="${targetdirectory}">
  <fileset dir="${recentdir}"/>
</copy>

Вывод при запуске этой цели: C: \velop \ build.xml: 44: Предупреждение: не удалось найти файл ресурсов "C: \velop \ C: \ Program \ tool \ test_90 \" для копирования.

Кажется, в наборе файлов он не распознает, что recentdir содержит полный путь внутри. Письменный xml из приложения имеет новую строку до и после пути в файле xml, который читается вместе с путем. Поэтому муравей не узнает путь, потому что перед ним новая строка.

Есть что-нибудь похожее на отделку для муравья?

Кто-нибудь может помочь мне заставить муравья принять этот путь?

Ответы [ 2 ]

1 голос
/ 19 декабря 2011

Насколько я вижу, элемент copy в xmltask предоставляет атрибут обрезки.

trims leading/trailing spaces when writing to properties

Это работает?

1 голос
/ 19 декабря 2011

Сделайте это сейчас, используя Ant-Contrib, но это все равно используется в этом проекте.

<xmltask source="${projectfile}">
  <copy path="Project/RecentResultsInfo/ResultsDirectoryOfRecentLoadTest/text()" property="recentdirraw" attrValue="true"/>
</xmltask>
<!-- replace newlines and whitespace from read path -->
<propertyregex property="recentdir" input="${recentdirraw}" regexp="^[ \t\n]+|[ \t\n]+$" replace="" casesensitive="false" />
<copy todir="${targetdirectory}">
  <fileset dir="${recentdir}"/>
</copy>

Просто измените свойство с помощью регулярного выражения, обрезая текст с помощью пробелов и пробелов.

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