Wie ein einzelnes checkstyle Unterdrückung Datei in Maven in allen Modulen
Habe ich ein Projekt besteht aus mehreren Maven-Modulen, die alle Kinder eines übergeordneten Modul.
Ich habe die Eltern für die Verwendung von checkstyle und die untergeordneten Module Erben alle dieses Verhalten korrekt. Ich möchte alle untergeordneten Module zur Nutzung der Eltern-Unterdrückung-Datei definiert in seinem plugin.
Ich definiere eine Eigenschaft checkstyle.Unterdrückung, die in der checkstyle-plugin
<properties>
<checkstyle.suppressions>${basedir}\src\checkstyle\suppressions.xml</checkstyle.suppressions>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.2</version>
<configuration>
<configLocation>config/sun_checks.xml</configLocation>
<suppressionsLocation>${checkstyle.suppressions}</suppressionsLocation>
<suppressionsFileExpression>${checkstyle.suppressions}</suppressionsFileExpression>
</configuration>
</plugin>
</plugins>
Die funktioniert gut für die Eltern, aber alle untergeordneten Module versuchen, die Datei zu finden in Ihrer basedir, die keinen Sinn machen.
Ich bin sicher, es muss eine einfache Lösung, die ich bin fehlt, aber gibt es eine Möglichkeit zu definieren, die diesen Standort so, dass alle untergeordneten Module verwenden die übergeordnete Lage, ohne harte Codierung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den oben genannten Antworten sind gefährlich. Ich behaupte, dass jedes Projekt sollte selbst enthalten ist, also die Bezugnahme auf externe Dateien, um es zu brechen, ein zu bauen, früher oder später. Checkstyle kann man eine url für die Datei, aber das bedeutet, dass Sie können nicht bauen offline. Ein besserer Ansatz ist die Paket-Datei (können auch hinzufügen pmd.xml) in ein Gefäß und fügen Sie dann das jar in den classpath des checkstyle (oder pmd) plugin. Ich habe ein Beispiel, es hier und mehr über overridding ein plugin classpath hier
suppressions.xml
aus GLAS, leider.Dem plugin-Dokumentation erwähnt einen ähnlichen use-case hier:
http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/multi-module-config.html
Haben Sie versucht, die Definition der Eigenschaft, wie dies in der parent-pom oder erfinden Sie neu in die Kinder?
Wenn die Eltern nicht gehen, zu laufen, checkstyle, Sie könnten nur in der Lage sein, neu zu schreiben, um
Oder sowas. Oder Sie könnte etwas in settings.xml zu Punkt alles zu einer systemweiten config-Verzeichnis.
Während es möglicherweise nicht empfohlen werden, können Sie mit einer boot-strap oder set-up-Projekt oder die Aufgabe setzen, eine Kopie der suppressions.xml Datei an einem Speicherort nach einer Immobilie in settings.xml und dann beziehen Sie sich immer auf die von Standorten.