Как я могу сопоставить строки неполных версий при использовании задачи Ant 'copy'? - PullRequest
1 голос
/ 26 мая 2010

У меня есть такая структура каталогов

client/lib
a.jar
b-4.3.jar
c-1.2.jar
d-4.3.jar
e.jar

Мне нужно скопировать банки - некоторые без версии, а некоторые с. Единственная информация, которая у меня есть, это номер версии, которая хранится в переменной.

Номер версии, который у меня есть, находится в свойстве и имеет три поля - '4.3.1' Версия, которую имеют банки, - это просто первые два поля из значения свойства (т. Е. 4.3 в данном случае). Мне нужны все банки, которые начинаются с двух цифр, которые есть у моего свойства, и некоторые банки без версии. Например, из приведенной выше структуры каталогов мне нужно:

b-4.3.jar
d-4.3.jar
e.jar

Как я могу это сделать?

1 Ответ

0 голосов
/ 27 мая 2010

Возможно, вы решите использовать задачу antcontrib propertyregex . Возможно, что-то вроде этого:

<property name="version" value="4.3.1" />
<propertyregex override="yes" property="version2" input="${version}"
               regexp="(.*).([^.]+)"
               replace="\1" />

<fileset id="my_jars" dir="client/lib">
    <include name="*${version2}.jar" />
    <include name="e.jar" />
</fileset>

<copy todir="to_dir">
    <fileset refid="my_jars" />
</copy>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...