набор файлов не поддерживает атрибут "erroronmissingdir" - PullRequest
5 голосов
/ 27 июня 2011

Я использую муравей 1.7, получаю следующую ошибку:

build.xml: 55: набор файлов не поддерживает атрибут «erroronmissingdir»

что является альтернативным атрибутом для erroronmissingdir (в 1.8) в 1.7

1 Ответ

9 голосов
/ 27 июня 2011

Атрибут fileset erroronmissingdir доступен начиная с Ant 1.7.1.Вы должны использовать более раннюю версию 1.7.

Атрибут используется для указания сборке молча игнорировать наборы файлов, для которых базовый каталог не существует во время выполнения:

<copy todir="tmp">
  <fileset dir="foo" erroronmissingdir="false">
    <include name="**/*"/>
  </fileset>
</copy>

Есливы не указываете erroronmissingdir="false" (или не можете, потому что ваша версия Ant не поддерживает его), тогда результатом по умолчанию будет сбой сборки, если dir foo не существует.

Если вам нужна ваша сборкачтобы успешно существовать или нет dir, и вы не можете использовать атрибут erroronmissingdir, у вас есть несколько опций.

Например, вы можете указать базовый dir набора файлов, который будет известным родительским родителем дляваш целевой каталог, что-то вроде этого:

  <copy todir="tmp">
    <fileset dir=".">
      <include name="foo/**/*"/>
    </fileset>
  </copy>

(Обратите внимание, что в этом случае копия теперь создаст dir foo в todir из copy. Вы можете удалить это, используя глоб mapper .)

Другой альтернативой будет выполнение ваших условно доступных операций набора файлов в целях, защищенных условием, например,

<available property="foo.available" file="foo"/>

<target name="test" if="foo.available">
  <copy todir="tmp">
    <fileset dir="foo">
      <include name="**/*"/>
    </fileset>
  </copy>
</target>

Вывод с ant -v будет sкак:

[available] Unable to find foo to set property foo.available
test: Skipped because property 'foo.available' not set.
BUILD SUCCESSFUL Total time: 0 seconds
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...