Generazione di un sito Maven tra cui un rapporto Cobertura
-
09-09-2019 - |
Domanda
Ho alcuni progetti che stanno già facendo generazione sito tramite Maven, e voglio di integrare i rapporti COBERTURA in loro, ma nessun obiettivo Maven mi sembra di correre genererà un'anteprima locale che guardi che include il Cobertura report nel sito. Voglio essere sicuro che stanno generando correttamente prima di commettere i cambiamenti pom al pronti contro termine e hanno generato sito rotto.
Qui di seguito è quello che ho aggiunto ai pon Maven (genitori e modulo), ma il sito che vedo quando corro mvn site:run
non include i rapporti COBERTURA:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<configuration>
<check>
<haltOnFailure>false</haltOnFailure>
<regexes>
<regex>
<pattern>parent-package-name-here.*</pattern>
<branchRate>80</branchRate>
<lineRate>80</lineRate>
</regex>
</regexes>
</check>
<instrumentation>
<includes>
<include>parent-package-name-here/**/*.class</include>
</includes>
</instrumentation>
</configuration>
<executions>
<execution>
<id>clean</id>
<phase>pre-site</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
<execution>
<id>instrument</id>
<phase>site</phase>
<goals>
<goal>instrument</goal>
<goal>cobertura</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
...
</project>
Quale comando Maven devo usare per generare il sito con i rapporti COBERTURA? Oppure, che cosa devo aggiungere (in aggiunta) per ottenere la generazione sito ad includere le relazioni COBERTURA?
Soluzione 2
ho capito come fare questo.
Sembra che ci siano un sacco di bug nella generazione di collegamento all'interno del plugin di generazione sito Maven.
L'unico modo che ho trovato per fare Maven generare una copia locale del sito con link a lavorare modulo è quello di modificare il tag distributionManagement/site
a punto da una directory locale invece della directory reale-live implementare, quindi utilizzare maven site:deploy
.
Ogni tentativo di utilizzare mvn site:stage
genera i collegamenti interrotti. Lo stesso vale per mvn site:run
.
I collegamenti rapporto di lavoro con mvn site:run
/ mvn site:stage
ma i link ai moduli non fare.
Altri suggerimenti
Dovrebbe fare:
mvn site
Per elaborare, in esecuzione mvn a: b gestisce il B gol in plug-in a. Dire mvn c significa per eseguire la fase del ciclo di vita c, che gestisce tutti gli obiettivi legati a tutte le fasi fino a c. Di conseguenza, questo innescherà molte più cose accadano (come ad esempio fare la preparazione necessaria per produrre report Cobertura).
mvn site
dovrebbe fare quello che stai cercando. È possibile configurare il plugin per correre nei pre-sito e sito fasi del ciclo di vita, ma la tua è poi eseguendo il sito: obiettivo corsa non luogo. Stiamo facendo cose simili con il trifoglio (strumento di copertura commerciale) e il sito mvn fa il trucco.
sito: modulo é collegato fase non funzionano nella mia esperienza sia per il multi modulo costruisce ma il sito: deploy fa. Prova questo:
Con una proprietà per l'URL del sito nel POM genitore, per esempio ${site.url}
. Quindi chiamare questo
mvn clean site site:deploy -Dsite.url=file://`pwd`/target/site-deployed
Il pwd
è un comando -nix
che andrà a sostituire la directory corrente. Questo perché l'URL che si utilizza deve essere assoluta.
Usiamo
mvn site-deploy
Si costruisce il sito e distribuisce esso (lo copia il posto abbiamo configurato).
mvn site:site
dovrebbe produrre che cosa siete dopo, nella directory di destinazione, ci sarà una directory del sito che contiene tutti i report collegati con una index.html
in quella directory.