Могу ли я сделать Mojo, который работает во время фазы integration-test
, запустить другое Mojo, которое работает во время фазы verify
?
Этот вопрос является продолжением моего предыдущего вопрос . Я расширил frontend-maven-plugin
параметром, который задерживает сбой сборки от интеграционных тестов до фазы verify
, чтобы фаза post-integration-test
работала правильно. Это часто необходимо для очистки среды (закрыть БД, сервер, ...). Подтверждение получения по запросу доступно здесь .
Решение довольно хакерское, поскольку требует от пользователя добавления фазы выполнения verify
, даже если он ничего не делает. Вместо этого я хотел бы, чтобы выполнение на этапе integration-test
автоматически выполняло Mojo на этапе verify
(без явного добавления пользователем этого в конфигурацию Maven). Таким образом, следующее:
<execution>
<id>npm run integration tests</id>
<goals>
<goal>npm</goal>
</goals>
<phase>integration-test</phase>
<configuration>
<arguments>run e2e</arguments>
<integrationTestFailureAfterPostIntegration>true</integrationTestFailureAfterPostIntegration>
</configuration>
</execution>
должно запускать тесты e2e во время фазы integration-test
, , но также должно выполнять другое Mojo во время фазы verify
.
Возможно ли это и как бы вы это сделали?
ОБНОВЛЕНИЕ: мне удалось добавить еще один pluginExecution во время выполнения к плагину, например:
for (Plugin plugin : project.getBuildPlugins()) {
if("com.github.eirslett".equals(plugin.getGroupId()) && "frontend-maven-plugin".equals(plugin.getArtifactId())){
PluginExecution verifyExecution = new PluginExecution();
verifyExecution.addGoal("verify");
verifyExecution.setId("verify integration tests");
verifyExecution.setPhase("verify");
plugin.addExecution(verifyExecution);
}
}
, но это, похоже, не влияет на время выполнения казни. Целью является пользовательский проверки Mojo, который выполняет проверку во время verify
фазы