Как переименовать папку с помощью Ant?
Я хочу переименовать папку своего приложения с отметкой времени, а затем разархивировать новую версию моего приложения, используя одно и то же имя папки. Используя Ant (move
task), похоже, что вы можете перемещать содержимое из одной папки в другую.
Это единственный способ сделать это в Ant?
Ответы
Ответ 1
Задача перемещения делает то, что вам нужно, но именование немного запутанно. Если вы считаете, что ваш каталог является "файлом" в смысле Java - файл является дескриптором файловой системы, который может представлять, среди прочего, каталог или файл в обычном смысле - тогда задача перемещения имеет смысл.
Итак, следующее
<move file="mySourceDirName" tofile="myTargetDirName"/>
означает переименование/перемещение каталога mySourceDirName
вместо myTargetDirName
.
Далее следует
<move file="mySourceDirName" todir="someExistingDir"/>
означает перемещение каталога mySourceDirName
, чтобы стать дочерним каталогом существующего каталога someExistingDir
.
Итак, в ant атрибут "file" относится к рассматриваемой цели, а атрибут "todir" относится к каталогу, который является новым родительским местоположением для целевого файла или каталога.
Ответ 2
Просто изложив уже предоставленный ответ, что правильно...
<project default="move">
<tstamp/>
<target name="move">
<move file="foo" tofile="foo-${TSTAMP}"/>
</target>
</project>
Это перемещает foo в foo-HHMM.
Например:
$ find .
.
./build.xml
./foo
./foo/bar.txt
$
$ ant
Buildfile: C:\tmp\ant\build.xml
move:
BUILD SUCCESSFUL
Total time: 0 seconds
$
$ find .
.
./build.xml
./foo-1145
./foo-1145/bar.txt
$
Ответ 3
Если вы хотите переименовать папку, вы можете использовать тег move, но есть загадочный способ его использования. Поскольку @phasmal сказал, что вы можете использовать move, но он перемещает папку в нужную папку. Если вы просто хотите переименовать, попробуйте следовать.
<move todir="newname">
<fileset dir="directory tobe renamed "/>
</move>
Ответ 4
Я думаю, что задача перемещения - это то, что вы хотите. Есть ли причина, по которой вы не хотите ее использовать?
Похоже, вы предлагаете переместить папку, в которой живет ваш файл build.xml. Это правильно? Если это так, я полагаю, что ant может быть не слишком счастлив.