как отключить компиляцию модулей при тестировании skipepd - PullRequest
4 голосов
/ 10 июня 2011

В нашей "большой сборке" (более 40 модулей) у нас есть несколько модулей, которые содержат только тесты.

Когда я даю -DskiptTests mvn, тесты не выполняются.

Но они компилируются, что занимает до минуты сборки.

Как можно выборочно отключать такие модули, если установлена ​​опция skipTests?

Ответы [ 2 ]

2 голосов
/ 10 июня 2011

Вы должны организовать свою корневую помпу так, чтобы тестовые модули активировались через профиль, и вместо использования -Dmaven.test.skip для поворота используйте -P!testProfile, чтобы отключить их и, следовательно, пропустить их.Другая мысль заключается в том, что вы могли бы просто сделать:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <skip>${maven.test.skip}</skip>
        </configuration>
    </plugin>
</plugins>

Я на самом деле не пробовал это ... это должно теоретически работать.Кажется, я помню, что конфигурация <skip> есть на всех плагинах.

1 голос
/ 10 июня 2011

Просто чтобы прояснить точку зрения Гарета Давида:

  • Когда вы запускаете mvn ... -DskipTests, только выполнение тестов пропускается. Это то же самое поведение, если вы запускаете mvn ... -Dtest=notest
  • Когда вы запускаете mvn ... -Dmaven.skip.test=true, и , и выполнение теста, и компиляция пропускаются.

Итак, второй команды достаточно, без каких-либо изменений в вашем файле pom.xml.

( источник ) * * одна тысяча двадцать-одна

...