Add reporting feature and update project documentation

A reporting feature has been added to the project. This involves building HTML documentation, which includes the results of the static code analysis (PMD and SpotBugs). Both 'QuickStart.md' and '_Index.md' files in 'documentation/de' and 'documentation/en' folders have been updated to reflect these changes. Furthermore, the 'README.md' file and Maven POM file ('pom.xml') have also been updated accordingly.
This commit is contained in:
Konrad Neitzel 2024-05-09 22:02:43 +02:00
parent 9713d79d52
commit 7cc1877ca6
6 changed files with 113 additions and 7 deletions

View File

@ -2,6 +2,8 @@
Example Maven Project for a JavaFX Application.
**Update**: Added reporting to create a site (html documentation of project)
**Update**: Java 21 is now fully supported
This projects includes multiple plugins:

View File

@ -27,7 +27,7 @@ aufrufen.
Um die Anwendung zu übersetzen kannst Du aufrufen:
```./mvnw package```
### Bau des Images zur weitergabe
### Bau des Images zur Weitergabe
Um das Image zu bauen, rufst du einfach Maven mit dem Profil Image und dem
Ziel install auf:
@ -37,9 +37,21 @@ Ziel install auf:
da dieses Plugin zwingend eine Modulbeschreibung für das Projekt und alle
Abhängigkeiten erfordert.
### Komplette Übersetzung des Projekts incl. Dokumentation
Mit dem folgenden Befehl lässt sich das ganze Projekt von grundauf neu übersetzen incl.
der Erstellung der HTML Dokumentation des Projektes:
```./mvnw -Dimage clean install site```
- **-Dimage** aktiviert das Profil image, das für den Bau des Application Images zuständig ist
- **clean** Mit dem Ziel clean wird am Anfang alles, was bereits ggf. schon an Übersetzungen vorhanden ist, entfernt wird.
- **install** Durch install wird das ganze Projekt gebaut incl. Unit Tests, statischer Codeanalyse, ...
- **site** Es wird die Dokumentation des Projektes gebaut.
## Ergebnisse der statischen Codeanalyse
Die Codeanalyse läuft automatisch beim Bau des Projektes und die Ergebnisse
finden sich in:
- ./target/pmd.xml
- ./target/spotbugsXml.xml
Wenn die Site gebau wird, dann gibt es html Seiten mit den Ergebnissen von PMD und Spotbugs in der Site.

View File

@ -12,4 +12,5 @@
- [SpotBugs](SpotBugs.md)
## Sonstiges
- Reporting
- Lombok

View File

@ -33,6 +33,15 @@ To build the image, the profile Image must be used:
**Important** You cannot build an image using the javafx plugin. The javafx plugin requires that you build a modular
Java application and all dependencies providing a module description.
### complete build including documentation
To build the complete project from scratch and build all parts possible, you could use the following command:
```./mvnw -Dimage clean install site```
- **-Dimage** activates the profile image that is responsible to build the application image
- **clean** cleans everything of previous builds.
- **install** build the project (compile, build jar file, ...)
- **site** creates the html documentation of the project
## Static code analysis results
The static code analysis is done during the build of the application. The results can be found in

View File

@ -12,4 +12,5 @@
- [SpotBugs](SpotBugs.md)
## Other Topics
- Reporting
- Lombok

93
pom.xml
View File

@ -30,6 +30,9 @@
<mockito.version>5.11.0</mockito.version>
<!-- Plugin dependencies -->
<codehaus.version.plugin>2.16.2</codehaus.version.plugin>
<javafx.maven.plugin>0.0.8</javafx.maven.plugin>
<jpackage.maven.plugin>0.1.5</jpackage.maven.plugin>
<maven.clean.plugin>3.3.2</maven.clean.plugin>
<maven.compiler.plugin>3.13.0</maven.compiler.plugin>
<maven.dependency.plugin>3.6.1</maven.dependency.plugin>
@ -37,14 +40,13 @@
<maven.enforcer.plugin>3.4.1</maven.enforcer.plugin>
<maven.install.plugin>3.1.2</maven.install.plugin>
<maven.jar.plugin>3.4.1</maven.jar.plugin>
<maven.javadoc.plugin>3.6.3</maven.javadoc.plugin>
<maven.project.info.reports.plugin>3.5.0</maven.project.info.reports.plugin>
<maven.resources.plugin>3.3.1</maven.resources.plugin>
<maven.site.plugin>4.0.0-M13</maven.site.plugin>
<maven.site.plugin>4.0.0-M14</maven.site.plugin>
<maven.surfire.plugin>3.2.5</maven.surfire.plugin>
<moditect.maven.plugin>1.0.0.RC2</moditect.maven.plugin>
<jpackage.maven.plugin>0.1.5</jpackage.maven.plugin>
<maven.pmd.version>3.22.0</maven.pmd.version>
<codehaus.version.plugin>2.16.2</codehaus.version.plugin>
<javafx.maven.plugin>0.0.8</javafx.maven.plugin>
<maven.pmd.plugin>3.22.0</maven.pmd.plugin>
<spotbugs.maven.plugin>4.8.5.0</spotbugs.maven.plugin>
<spotbugs.version>4.8.5</spotbugs.version>
@ -237,7 +239,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${maven.pmd.version}</version>
<version>${maven.pmd.plugin}</version>
<configuration>
<minimumTokens>100</minimumTokens>
<targetJdk>${java.version}</targetJdk>
@ -272,6 +274,20 @@
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin}</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- JavaFX Plugin to start application -->
<plugin>
<groupId>org.openjfx</groupId>
@ -284,6 +300,71 @@
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven.project.info.reports.plugin}</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>dependencies</report>
<report>licenses</report>
<report>summary</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin}</version>
<reportSets>
<reportSet>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>tests</id>
<configuration>
<show>private</show>
</configuration>
<reports>
<report>test-javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${maven.pmd.plugin}</version>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${spotbugs.maven.plugin}</version>
<reportSets>
<reportSet>
<reports>
<report>spotbugs</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<profiles>
<!-- Profile that adds JLink and JPackage runs.