Wiki-Quellcode von Checkstyle
Version 13.28 von Celina Bock am 2025/07/08 10:24
Zeige letzte Bearbeiter
| author | version | line-number | content |
|---|---|---|---|
| 1 | == Checkstyle einrichten == | ||
| 2 | |||
| 3 | Für die Programmierfächer aus Semester 1 und 2 wurde Checkstyle eingeführt mit mehr Einschränkungen als es die Java Sun Konvention vorsieht (Zeilenlänge, Npath Complexity und co). | ||
| 4 | |||
| 5 | |||
| 6 | __Steps__ | ||
| 7 | |||
| 8 | * Bei der Aufgabenerstellung muss der Haken bei "statische Codeanalyse" gesetzt werden. //Späteres Hinzufügen von Checkstyle ist umständlich!// | ||
| 9 | |||
| 10 | [[image:StatCode.png||data-xwiki-image-style-border="true"]] | ||
| 11 | |||
| 12 | |||
| 13 | * Weitere Eingaben tätigen und Test Repository clonen. | ||
| 14 | * Geclontes Repo enthält 3 statische Codeanalyse Tools. Alle Konfigurationsdateien befinden sich unter **staticCodeAnalysisConfig.** | ||
| 15 | |||
| 16 | [[image:1751962116852-287.png]] | ||
| 17 | |||
| 18 | |||
| 19 | * Inhalt der Checkstyle Konfiguration austauschen mit unserer Konfiguration. (% style="color:#c0392b" %)**Checkstyle Konfiguration findet sich unten unter Anhänge.** | ||
| 20 | * **BeforeExecutionExclusionFileFilter **in der Konfiguration anpassen. Das enthaltene Regex filtert alle Dateien heraus, die nicht den genannten String enthalten. Das hat den Vorteil, wenn den Studierenden mehrere fertige Dateien zur Verfügung gestellt werden, diese nicht von Checkstyle geprüft werden. Dementsprechend werden im Regex Dateien gelistet, die von Studirenden bearbeitet werden. Nachteil ist, dass neue erstellte | ||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | == Entfernen von Spotbugs und PMD oder Checkstyle == | ||
| 25 | |||
| 26 | Beim Erstellen von Aufgaben mit statischer Code Analyse erstellt Artemis ein Projekt mit [[Checkstyle>>https://maven.apache.org/plugins/maven-checkstyle-plugin/]], [[Apache PMD>>https://maven.apache.org/plugins/maven-pmd-plugin/]] und [[Spotbugs>>https://spotbugs.github.io/spotbugs-maven-plugin/]]. Wenn eines der Tools nicht benötigt wird, muss die Dependency im Projekt gelöscht werden **und** das Build Script angepasst werden. | ||
| 27 | |||
| 28 | |||
| 29 | Unter Build-Plane bearbeiten finden sich die mvn commands, um die genannten Tools auszuführen. | ||
| 30 | |||
| 31 | [[image:1751960876121-491.png||data-xwiki-image-style-border="true"]] | ||
| 32 | |||
| 33 | |||
| 34 | Die Methode staticCodeAnalysis alle Commands. Beim Entfernen von z.B. PMD muss nicht nur der Command //pmd:pmd pmd:cpd// entfernt werden, sondern auch die copy Commands für die Reports. | ||
| 35 | |||
| 36 | [[image:1751961576022-284.png||data-xwiki-image-style-border="true"]] | ||
| 37 | |||
| 38 | |||
| 39 |