Как муравей относится к несуществующему пателиту? - PullRequest
2 голосов
/ 15 октября 2010

Как муравей ведет себя, если я определяю путь с патчем, который указывает на несуществующий каталог?

<path id="foo.bar">
   <pathelement location="this/might/not/exist/">
</path>

Сценарий таков, что файл муравья используется для нескольких проектов - в некоторых есть этот дополнительныйпапка, а некоторые нет.

Муравей просто игнорирует его, или он терпит неудачу?

1 Ответ

2 голосов
/ 15 октября 2010

Зависит от контекста.

При использовании в качестве пути к классам для задачи javac отсутствующие каталоги просто игнорируются:

Эта задача удалит все записи, которые указывают на несуществующий файлы / каталоги из пути к классам, которые он передает компилятору.

Но если вы используете путь, содержащий несуществующий каталог, например, в качестве источника для copy, вы получите ошибку. Например, здесь существуют каталоги «один» и «три», а «два» - нет:

<path id="mypath">
    <pathelement path="one" />
    <pathelement path="two" />
    <pathelement path="three" />
</path>

<copy todir="dest">
    <path refid="mypath" />
</copy>

BUILD FAILED
/.../build.xml:14: Warning: Could not find resource file ".../two" to copy.

Вы можете использовать dirset, чтобы отфильтровать недостающие элементы, возможно:

<pathconvert property="dirs.list" pathsep="," refid="mypath">
    <map from="${basedir}/" to="" />
</pathconvert>
<dirset id="exists.dirs" dir="." includes="${dirs.list}" />    
<copy todir="dest">
    <dirset refid="exists.dirs" />
</copy>

 [copy] Copied 2 empty directories to 2 empty directories under /.../dest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...