Доброе утро,
Используя Ant, я хотел бы переименовать все подкаталоги каталога (этот каталог $ {main.src.dir} / $ {new.package.name}), которые содержат в своем имени значение свойства (именованный пакет .name) значением другого свойства (с именем new.package.name). Для этого я использую следующие команды Ant:
<move file="${main.src.dir}/${new.package.name}" tofile="${main.src.dir}/${new.package.name}">
<!-- Selects all subdirectories from new.package.name directory. -->
<dirset dir="${main.src.dir}/${new.package.name}"/>
<!-- Replaces all occurrences of package.name by new.package.name. -->
<filtermapper>
<replacestring from="${package.name}" to="${new.package.name}"/>
</filtermapper>
</move>
Все вхождения $ {package.name} заменяются на $ {new.package.name} во всех именах подкаталогов, но проблема в том, что все файлы из $ {main.src.dir} / $ {new.package .name}, содержащие в своем имени $ {package.name}, также переименовываются в то, что я не хочу.
То же самое добавляется, если я использую:
<move file="${main.src.dir}/${new.package.name}" tofile="${main.src.dir}/${new.package.name}">
<!-- Selects all subdirectories from new.package.name directory. -->
<fileset dir="${main.src.dir}/${new.package.name}">
<type type="dir"/>
</fileset>
<!-- Replaces all occurrences of package.name by new.package.name. -->
<filtermapper>
<replacestring from="${package.name}" to="${new.package.name}"/>
</filtermapper>
</move>
В ответ добавляется то же самое, если я хочу переименовывать только файлы из каталога: подкаталоги также переименовываются.
У вас есть идеи? Спасибо.