web-dev-qa-db-fra.com

Empêcher le style de contrôle de s'exécuter dans un sous-module Maven spécifique

Je voudrais définir une exécution de style de contrôle dans un fichier pom, et la faire exécuter sur tous les sous-modules sauf certains spécifiés.

En d'autres termes, j'ai besoin d'une sorte de <excludes> (qui existe mais s'applique aux noms de fichiers) mais qui cible les modules. Une idée quelqu'un?

49
Miquel

Mettez les éléments suivants dans les projets pour lesquels vous souhaitez désactiver le style de contrôle:

<project>
  ...
  <properties>
    ...
    <checkstyle.skip>true</checkstyle.skip>
    ...
  </properties>
  ...
</project>

Checkstyle fonctionnera toujours, mais effectuera un no-op ...

C'est à moins que vous ne remplaciez la liaison par défaut de paramètre skip de maven-checkstyle-plugin auquel cas vous pourriez obtenir le même effet avec ce qui suit dans le projet spécifique

<project>
  ...
  <build>
    ...
    <plugins>
      ...
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

À moins bien sûr que vous n'ayez remplacé le paramètre skip dans une exécution ... mais si vous savez ce que c'est, vous connaissez également la solution et ne poseriez pas cette question ;-)

68
Stephen Connolly

Si vous ne souhaitez pas modifier votre pom.xml, vous pouvez définir le saut sur true à partir de la ligne de commande à l'aide de l'option –D. Cela a été mentionné ci-dessus comme "remplacé le paramètre de saut dans une exécution". Ceci est assez similaire à -Dmaven.test.skip = true usage.

mvn site -Dcheckstyle.skip=true
110
Haim Raman