2009-02-27 16 views
7

Ho alcuni progetti che stanno già facendo la generazione di siti tramite Maven e voglio integrare i report di cobertura in essi, ma nessun obiettivo di analisi che sembra venga generato genererà un'anteprima locale per io a guardare che include i rapporti di Cobertura nel sito. Voglio essere sicuro che stiano generando correttamente prima di commettere le modifiche al repository e avere generato un sito non funzionante.Generazione di un sito Maven incluso un report di Cobertura

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:

comando
<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> 

Cosa Maven dovrei usare generare il sito con report di cobertura? Oppure, cosa dovrei aggiungere (in aggiunta) per far sì che la generazione del sito includa i rapporti di cobertura?

risposta

3

Ho capito come farlo.

Sembra che ci siano molti bug nella generazione di collegamenti all'interno del plugin di generazione di siti maven.

L'unico modo che ho trovato per fare Maven generare una copia locale del sito con link che lavorano modulo è quello di modificare il tag distributionManagement/site per puntare a una directory locale invece della directory reale-live implementare, quindi utilizzare maven site:deploy.

Ogni tentativo di utilizzare mvn site:stage genera collegamenti non funzionanti. Lo stesso vale per mvn site:run.

I collegamenti dei report funzionano con mvn site:run/mvn site:stage ma i collegamenti ai moduli no.

+2

Dovresti archiviarlo come bug nel bug tracker di maven, altrimenti non verrà elaborato. –

0

Usiamo

mvn site-deploy 

Questo costruisce il sito e dispiega esso (lo copia il posto che abbiamo configurato).

+0

Ma non voglio distribuirlo nella sua posizione di "produzione", voglio prima un'anteprima locale in quanto è ancora sperimentale. –

1
mvn site 

dovrebbe fare quello che stai cercando. Configura il plug-in per l'esecuzione nelle fasi pre-site e del ciclo di vita del sito, ma successivamente esegui il sito: esegui l'obiettivo non il sito. Stiamo facendo cose simili con il trifoglio (strumento di copertura commerciale) e il sito di mvn fa il trucco.

3

dovrebbe fare:

mvn site 

di elaborare, in esecuzione mvn a: b gestisce il B gol in plug-in a. Dire mvn c significa eseguire la fase di ciclo di vita c, che esegue tutti gli obiettivi associati in tutte le fasi fino a c. Di conseguenza, ciò determinerà il verificarsi di molte più cose (ad esempio la preparazione necessaria per produrre report di cobertura).

0

mvn site:site dovrebbe produrre ciò che si sta cercando, nella directory di destinazione, ci sarà una directory del sito contenente tutti i report collegati con uno index.html in quella directory.

1

sito: i collegamenti del modulo stage non funzionano nella mia esperienza sia per build di moduli multipli che per site: deploy. Prova questo:

Utilizzare una proprietà per l'URL del sito nella finestra principale, ad es. ${site.url}.Poi chiamano 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 usi deve essere assoluto.

Problemi correlati