Я интегрировал в Hudson проект maven 3, вызывающий следующую последовательность:
clean tomcat:redeploy site sonar:sonar
Проблема в том, что JUnit запускается 3 раза, вот последовательность целей, которую я получаю:
>[INFO] [clean:clean {execution: default-clean}]
>[INFO] [gwt:i18n {execution: default}]
>[INFO] [gwt:generateAsync {execution: default}]
>[INFO] [resources:resources {execution: default-resources}]
>[INFO] [compiler:compile {execution: default-compile}]
>[INFO] [checkstyle:check {execution: mycom-check}]
>[INFO] [checkstyle:check {execution: extended-check}]
>[INFO] [resources:copy-resources {execution: default}]
>[INFO] [gwt:i18n {execution: default}]
>[INFO] [gwt:generateAsync {execution: default}]
>[INFO] [resources:resources {execution: default-resources}]
>[INFO] [compiler:compile {execution: default-compile}]
>[INFO] [checkstyle:check {execution: mycom-check}]
>[INFO] [checkstyle:check {execution: extended-check}]
>[INFO] [resources:copy-resources {execution: default}]
>[INFO] [resources:testResources {execution: default-testResources}]
>[INFO] [compiler:testCompile {execution: default-testCompile}]
>[INFO] **[surefire:test {execution: default-test}]**
>[INFO] [gwt:compile {execution: default}]
>[INFO] [war:war {execution: default-war}]
>[INFO] [***tomcat:redeploy*** {execution: default-cli}]
>[INFO] [gwt:i18n {execution: default}]
>[INFO] [gwt:generateAsync {execution: default}]
>[INFO] [resources:resources {execution: default-resources}]
>[INFO] [compiler:compile {execution: default-compile}]
>[INFO] [checkstyle:check {execution: mycom-check}]
>[INFO] [checkstyle:check {execution: extended-check}]
>[INFO] [resources:copy-resources {execution: default}]
>[INFO] [cobertura:instrument {execution: default-instrument}]
>[INFO] [cobertura:instrument {execution: default-instrument}]
>[INFO] [resources:testResources {execution: default-testResources}]
>[INFO] [compiler:testCompile {execution: default-testCompile}]
>[INFO] **[surefire:test {execution: default-test}]**
>[INFO] [cobertura:cobertura {execution: default-cli}]
>[INFO] [resources:testResources {execution: default-testResources}]
>[INFO] [compiler:testCompile {execution: default-testCompile}]
>[INFO] [surefire:test {execution: default-test}]
>[INFO] [***site:site*** {execution: default-site}]
>[INFO] task-segment: [sonar:sonar] (aggregator-style)
>[INFO] [sonar:sonar {execution: default-cli}]
>[INFO] [***sonar:sonar*** {execution: default-sonar}]
>[INFO] [gwt:i18n {execution: default}]
>[INFO] [gwt:generateAsync {execution: default}]
>[INFO] [resources:resources {execution: default-resources}]
>[INFO] [compiler:compile {execution: default-compile}]
>[INFO] [checkstyle:check {execution: mycom-check}]
>[INFO] [checkstyle:check {execution: extended-check}]
>[INFO] [resources:copy-resources {execution: default}]
>[INFO] [cobertura:instrument {execution: default-instrument}]
>[INFO] [resources:testResources {execution: default-testResources}]
>[INFO] [compiler:testCompile {execution: default-testCompile}]
>[INFO] **[surefire:test {execution: default-test}]**
>[INFO] [cobertura:cobertura {execution: default-cli}]
Это очень проблематично, так как ошибка в Гудзоне заставляет его считать 3 три раза:
http://issues.hudson -ci.org / просмотр / HUDSON-1557
Однако это выглядело исправлено в Дженкинс:
https://issues.jenkins -ci.org / browse / JENKINS-2068
Что меня удивило, так это то, что юнит-тест "cobertura" выполняется дважды.
Я новичок в Maven, поэтому я не уверен, что хорошо понимаю резолюцию "шаги жизненного цикла". В муравье целевые разрешения выполнялись таким образом, чтобы выполнять только один раз для каждой цели.
Мои вопросы:
- Почему эти юнит-тесты Cobertura выполняются дважды? есть дефект в моем конфиге, в Maven, в плагине?
- Что я могу проверить, чтобы попытаться понять?
- В общем, есть ли какая-либо команда Maven, доступная для предварительного просмотра последовательности, которая будет выполнена без реального исполнения? Я не нашел ничего об этом, но нашел бы это очень полезным.
Спасибо за советы.