Checkstyle-Konventionen
1. Einleitung
Zur automatisierten Prüfung der Java-Programmierkonventionen stellt die IsyFact ein eigenes Checkstyle-Regelwerk bereit: das IsyFact Checkstyle Plugin (isy-checkstyle-config).
Das Regelwerk wird als Maven-Artefakt veröffentlicht und über das maven-checkstyle-plugin in den Build-Prozess eines Projekts integriert.
Dadurch werden Verstöße gegen die Programmierkonventionen bereits während des Builds erkannt.
2. Integration
2.1. Integration über den Maven-Parent
Wird eines der folgenden Maven-Parent-Module verwendet, ist isy-checkstyle-config bereits vorkonfiguriert und es sind keine weiteren Schritte notwendig:
| Modul | Version |
|---|---|
|
≥ 2.2.0 |
|
≥ 2.1.1, ≥ 1.8.2 |
2.2. Manuelle Integration als Plugin-Konfiguration
Wird kein passender Parent verwendet, kann isy-checkstyle-config direkt über das maven-checkstyle-plugin eingebunden werden:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<configLocation>checkstyle.config.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
</configuration>
<dependencies>
<dependency>
<groupId>de.bund.bva.isyfact</groupId>
<artifactId>isy-checkstyle-config</artifactId>
<version>0.2.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Die Prüfung wird dabei in der Maven-Phase validate ausgeführt und bricht den Build bei Regelverstößen ab (failsOnError=true).
3. Zusammenspiel mit dem Formatter
Die Checkstyle-Regeln sind mit dem IsyFact-Formatter für Java abgestimmt. Wird der Formatter verwendet, sollte der resultierende Quellcode ohne Checkstyle-Verstöße bleiben. Es empfiehlt sich daher, beide Werkzeuge gemeinsam einzusetzen: den Formatter zur Formatierung während der Entwicklung und Checkstyle zur automatisierten Prüfung im Build.
4. Versionierung und Änderungen
Das Regelwerk wird nach den IsyFact-Versionierungsvorgaben versioniert. Änderungen an den Regeln werden im Changelog des Plugins dokumentiert.