2017-10-17 8 views
0

Nous avons un cas d'utilisation où nous voulons faire l'analyse sonar dans le cadre de la génération de site. C'est à chaque fois que "mvn install site: site" est invoqué, nous voulons que sonar: sonar soit invoqué ainsi qu'une partie de cela.maven: capable d'exécuter l'objectif sonar pour "post-intégration-test" mais pas pour la phase "site"

Nous avons essayé suivant la configuration du plug-in, mais cela ne fonctionne pas pour exécuter objectif sonar dans le cadre de la phase du site (nous avons essayé la phase « pré-site » aussi, mais cela ne fonctionne pas aussi bien):

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.sonarsource.scanner.maven</groupId> 
     <artifactId>sonar-maven-plugin</artifactId> 
     <version>3.3.0.603</version> 
     <executions> 
      <execution> 
      <id>sonar-site</id> 
      <phase>site</phase> 
      <goals> 
       <goal>sonar</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
<build> 

Juste pour expérimenter, quand nous avons changé: <phase>site</phase> à <phase>post-integration-test</phase> dans l'extrait ci-dessus, l'objectif sonar a commencé à être exécuté après l'exécution informatique.

Y at-il un problème de compatibilité entre sonar-maven-plugin et maven-site-plugin? Appréciera toute contribution ou approche alternative pour résoudre ce problème.

Répondre

0

Vous avez lié le plugin SonarQube Maven à une phase site, mais vous n'avez pas exécuté cette phase. Vous avez passé site:site, ce qui signifie execute a site goal of the maven-site-plugin.

Vous devez exécuter: mvn install site

La solution avec post-integration-test œuvres, car cette étape est exécutée par install phase (plus ou moins).

En savoir plus sur Maven Lifecycle Reference.