Контекст: я хочу скомпилировать и протестировать все модули в проекте с несколькими модулями, но , если какой-либо сбой компиляции или тестов, я хочу, чтобы общая неудачу.
Конфигурации по умолчанию либо останавливаются при первом отказе, либо пропускают модули после отказа теста
Продолжительность:
mvn clean install
останавливается в первом отказоустойчивом модуле.
Если вы добавите:
mvn clean install -fae//fail at end
тогда все модули запускаются, но если тесты терпят неудачу, то любые зависимые модули skpped:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Module A ............................................. SUCCESS [15.210s]
[INFO] Module B ............................................. SUCCESS [10.923s]
[INFO] Module C ............................................. FAILED [1.731s]
[INFO] Module D ............................................. SUCCESS [3.791s]
[INFO] Module E ............................................. SUCCESS [1.488s]
[INFO] Module F ............................................. SKIPPED (dependency build failed or was skipped)
[INFO] Module G ............................................. SKIPPED (dependency build failed or was skipped)
[INFO] Module H ............................................. SKIPPED (dependency build failed or was skipped)
[INFO] Module I ............................................. SUCCESS [1.690s]
[INFO] -----------------------------------------
Другой способ принудительно скомпилировать все модули:
mvn clean install -fn//fail never
но это приводит к прохождению сборки, когда тесты терпят неудачу
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Module A ............................................. SUCCESS [15.210s]
[INFO] Module B ............................................. SUCCESS [10.923s]
[INFO] Module C ............................................. FAILED [1.731s]
[INFO] Module D ............................................. SUCCESS [3.791s]
[INFO] Module E ............................................. SUCCESS [1.488s]
[INFO] Module F ............................................. SUCCESS [9.062s]
[INFO] Module G ............................................. SUCCESS [16.324s]
[INFO] Module H ............................................. SUCCESS [4.032s]
[INFO] Module I ............................................. SUCCESS [1.690s]
[INFO] ------------------------------------------------------------------------
[INFO] Error for project: Module C (during install)
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
Please refer to C:\MavenBuildDir\ModuleC\surefire-reports for the
individual test results.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] + Ignoring failures
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30 minutes 38 seconds
[INFO] Finished at: Fri May 23 16:42:08 BST 2014
[INFO] Final Memory: 39M/185M
Может ли кто-нибудь посоветовать набор параметров для достижения следующего:
- скомпилировать все модули
- выполнить тесты для всех модулей
- Если модуль тестирует сбой, но модули, зависящие от кода, все еще компилируются и тестируются.
Ответы очень ценятся - в противном случае нам нужно многократно запускать тесты на сервере сборки, если есть несколько проблем - сжигание большого количества времени.