Как правильно настроить условную задачу с Maven-Ant? - PullRequest
1 голос
/ 05 октября 2011

Новый пользователь Ant здесь. Я создал условную задачу, которая запускается внутри как плагин Maven Ant. Проблема, с которой я сталкиваюсь, связана с целью условия: «ui-test-condition» не найден во время сборки.

Возвращенная ошибка:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (uitests) on project myProject: An Ant BuildException has occured: Target "ui-test-condition" does not exist in the project "maven-antrun-". It is used from target "ui-test-run". -> [Help 1]

Это может указывать на синтаксическую ошибку в приведенном ниже коде, однако я не могу определить проблему. Любая помощь с благодарностью.

<target name="ui-test" depends="ui-test-run,ui-test-skip"/>

<target name="ui-test-condition">
  <condition property="ui-test-condition-run">
    <and>
      <istrue value="${ui.test}"/>
  </and>
  </condition>
</target>

<target name="ui-test-run" depends="ui-test-condition" if="ui-test-condition-run">
  <echo>Running tests</echo>
  <exec dir="src/main/webapp/ui" executable="src/main/webapp/ui/${some.executable}"
    resolveexecutable="true" failonerror="true">
    <arg value="-e" />
    <arg value="foo/run" />
  </exec>
</target>

<target name="ui-test-skip" depends="ui-test-condition" unless="ui-test-condition-run">
  <echo>Tests are skipped</echo>
</target>

1 Ответ

0 голосов
/ 08 августа 2016

У меня была точно такая же проблема, и я нашел ответ, что свойство цели depends не поддерживается maven-antrun-plugin.

Отрывок http://maven.apache.org/plugins/maven-antrun-plugin/usage.html

Ultimately, you could specify some Ant <target/> attributes in the <target/> tag. Only depends attribute in Ant <target/> is not wrapped.

Это не мешает работе функции, по крайней мере, не из опыта;просто удаляя свойство depends и правильно упорядочивая цели, оно работает.

Кроме того, maven-antrun-plugin рассматривает только последний target.Поэтому вам нужно найти способ оценить ваше состояние непосредственно в этой цели.

...