Попробуйте переместить / переименовать только каталог, а не все его содержимое.Например:
<target name="rename_folder_jet" depends="Upload_on_ftp">
<move file="${build.dir}" todir="${build.dir}_jet_${ver_number}"/>
</target>
И убедитесь, что целевой каталог не существует, прежде чем начать.
Я экспериментировал со следующим файлом сборки:
<project default="rename_folder_jet">
<property name="build.dir" value="build"/>
<property name="ver_number" value="0.3"/>
<target name="setup">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}/foo"/>
<mkdir dir="${build.dir}/bar"/>
</target>
<target name="teardown">
<delete dir="${build.dir}_jet_${ver_number}"/>
</target>
<target name="rename_folder_jet">
<move file="${build.dir}" todir="${build.dir}_jet_${ver_number}"/>
</target>
</project>
ВыполнениеAnt в отладке (ant -d) с вышеупомянутым интересен.
Случай 1:
ant teardown
ant setup
ant -d
В этом случае целевой каталог перемещения / переименования не существует.Выходные данные отладки Ant показывают:
[move] Attempting to rename dir: C:\Users\sudocode\tmp\ant\build to C:\Users\sudocode\tmp\ant\build_jet_0.3\build
Случай 2:
ant setup
ant
ant setup
ant -d
В этом случае целевой каталог уже существует при втором выполнении.Выходные данные отладки Ant показывают:
[move] Attempting to rename dir: C:\Users\sudocode\tmp\ant\build to C:\Users\sudocode\tmp\ant\build_jet_0.3\build
fileset: Setup scanner in dir C:\Users\sudocode\tmp\ant\build with patternSet{ includes: [] excludes: [] }
[move] Deleting directory C:\Users\sudocode\tmp\ant\build\foo
[move] Deleting directory C:\Users\sudocode\tmp\ant\build\bar
[move] Deleting directory C:\Users\sudocode\tmp\ant\build
Таким образом, кажется, что если целевой каталог еще не существует, Ant выполнит переименование каталога.Но если целевой каталог существует, он вместо этого копирует в каталог и удаляет его из исходного каталога.