Плагин Two Maven с одинаковой фазой исполнения - PullRequest
0 голосов
/ 23 февраля 2019

Возможно ли выполнить один и тот же жизненный цикл двух плагинов maven, если один из них выйдет из строя?

Пример:

Допустим, у меня есть конфигурация плагинов ниже,

<plugins>
  <plugin>
    <groupId>smothing</groupId>
    <artifactId>plugin-1</artifactId>
    <version>2.2</version>
    <executions>
        <execution>
        <id>doSomthing</id>
        <phase>test</phase>
        //...//
  </plugin>

  <plugin>
    <groupId>something</groupId>
    <artifactId>plugin-2</artifactId>
    <version>2.5</version>
    <executions>
        <execution>
        <id>doSomthingAgain</id>
        <phase>test</phase>
        //...
  </plugin>
</plugins>

Я хотел бы выполнить plugin-2 тестовую фазу, даже если первый плагин не работает.Я не хочу игнорировать или пропускать контрольные примеры.

У меня ниже двух плагинов, которые будут выполняться в одной и той же фазе, даже если один из них завершится неудачей.

<groupId>com.thoughtworks.gauge.maven</groupId>
<artifactId>gauge-maven-plugin</artifactId>

<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>

По сути, после тестов датчика я хочу выполнить некоторые действия по очистке через плагин maven exec.Так есть ли возможность для меня всегда запускать плагин maven exec?(Никаких аргументов командной строки, чего я ожидаю в pom.xml)

Я видел эти ответы, но все говорят, чтобы пропустить тестовые случаи.

Как запустить mavenцель, когда есть тесты с ошибками?

Плагины отчетности Maven не выполняются, если происходит сбой модульного теста

Любая помощь приветствуется:)

1 Ответ

0 голосов
/ 23 февраля 2019

Если плагин выходит из строя, он останавливает выполнение жизненного цикла.Таким образом, вы не должны пытаться решить эту проблему, подумав о запуске другого плагина для какого-либо условия.Судя по вашему описанию, лучший подход - написать расширение, см. https://maven.apache.org/examples/maven-3-lifecycle-extensions.htmlhttps://maven.apache.org/ref/3.6.0/maven-core/apidocs/index.html?org/apache/maven/execution/AbstractExecutionListener.html вы можете видеть, что вы можете выполнять действия до или после любого сегмента жизненного цикла, например, очистка после projectSucceeded + projectFailed

...