Запуск maven цели в нескольких жизненных циклах - PullRequest
9 голосов
/ 09 июля 2009

У меня есть случай, когда я хочу запустить плагин cobertura как на этапе проверки, так и на этапе создания отчетов. У меня есть два профиля, и они оба должны запускать плагин cobertura, но в профиле A я хочу создать только вывод xml / html, но в профиле B я буду создавать полную документацию сайта, которая включает эти результаты.

У меня есть cobertura, настроенный как плагин, который выполняется как часть фазы проверки, но если я это сделаю, даже если я запустил mvn verify site, отчет cobertura не появится в документации сайта. Кажется, мне нужно, чтобы он был указан как в плагинах, так и в разделе отчетов (так как я не буду запускать сайт в профиле A, он не будет вызываться в этом профиле, если он у меня есть только в плагинах). Пока что раздел плагинов моего POM включает в себя:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin </artifactId>
<version>2.2</version>
<configuration>
    <instrumentation>
        <excludes>
            <exclude>com/somepkg/**</exclude>
        </excludes>
    </instrumentation>
    <formats>
        <format>xml</format>
        <format>html</format>
    </formats>
</configuration>        
<executions>
    <execution>
        <phase>verify</phase>
        <goals>
            <goal>cobertura</goal>
        </goals>
    </execution>
</executions>
</plugin>

Я тоже не хочу копировать это в раздел отчетности, так как это много для дублирования. Есть ли хороший способ сделать это иначе?

Спасибо

Джеф

1 Ответ

8 голосов
/ 09 июля 2009

Определите это:

<executions>
        <execution>
                <phase>verify</phase>
                <goals>
                        <goal>cobertura</goal>
                </goals>
        </execution>
        <execution>
                <phase>pre-site</phase>
                <goals>
                        <goal>cobertura</goal>
                </goals>
        </execution>
</executions>
...