Цель Ant для перемещения каталогов из другого каталога - PullRequest
10 голосов
/ 17 июня 2009

Какой самый простой способ переместить все из целевого каталога?

У меня есть basedir/parentdir/<subdir>. У меня много разных <subdir>. Мне нужно переместить их на тот же уровень, что и parentdir, чтобы он стал basedir/<subdir>. Теперь каждый <subdir> содержит глубокое дерево многих других подкаталогов и файлов, включая пустые подкаталоги.

Я пробовал следующее:

<move todir="basedir">
    <fileset dir="parentdir">
        <include name="**/*.*" />
    </fileset>
</move>

Не удалось переместить пустые каталоги - это означает, что после перемещения все <subdir> пропускают свои пустые подкаталоги. «move» предположительно копирует emptysubdirectories по умолчанию, поэтому я попробовал следующее:

<move todir="basedir">
    <fileset dir="parentdir">
        <include name="**/*" />
        <include name="**/*.*" />
    </fileset>
</move>

Хотя мне удалось переместить пустые подкаталоги, странно то, что все непосредственные подкаталоги всех <subdir> копируются в basedir. Каждый <subdir> имеет src, test и build. Теперь они сидят в basedir так же, как и в оригинальном перемещении <subdir>.

Я уверен, что делаю что-то не так, но не знаю что. Я неправильно подхожу к вещам?

1 Ответ

11 голосов
/ 17 июня 2009

Попробуйте это

<project name="moveproject" basedir="." default="moveDirs">
<target name="moveDirs">
    <move todir="${basedir}" includeEmptyDirs="yes" verbose="true">
        <fileset dir="parentdir" >
            <include name="**/*" />
        </fileset>
    </move>
</target>
</project>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...