Skip to content

Commit 94d43ee

Browse files
committed
Merge remote-tracking branch 'origin/dependabot/maven/com.github.spotbugs-spotbugs-maven-plugin-4.9.3.0' into spotbugs-suppressions
2 parents 19d0adb + bf5590e commit 94d43ee

16 files changed

+212
-89
lines changed

.github/workflows/codeql.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
pull_request_target:
7+
pull_request:
88
schedule:
99
- cron: "32 3 * * 0"
1010

@@ -24,11 +24,6 @@ jobs:
2424

2525
steps:
2626
- uses: actions/checkout@v4
27-
if: github.event_name == 'push'
28-
- uses: actions/checkout@v4
29-
with:
30-
ref: "${{ github.event.pull_request.merge_commit_sha }}"
31-
if: github.event_name == 'pull_request_target'
3227

3328
- name: Setup Java
3429
uses: actions/setup-java@v4

.github/workflows/coverage.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
pull_request_target:
7+
pull_request:
88

99
jobs:
1010
coverage:
@@ -14,11 +14,6 @@ jobs:
1414

1515
steps:
1616
- uses: actions/checkout@v4
17-
if: github.event_name == 'push'
18-
- uses: actions/checkout@v4
19-
with:
20-
ref: "${{ github.event.pull_request.merge_commit_sha }}"
21-
if: github.event_name == 'pull_request_target'
2217
- name: Set up JDK 21
2318
uses: actions/setup-java@v4
2419
with:

.github/workflows/quality-monitor.yml renamed to .github/workflows/quality-monitor-pit.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: 'Quality Monitor PR'
22

33
on:
4-
pull_request:
4+
pull_request_target:
55

66
jobs:
77
build:
@@ -10,7 +10,16 @@ jobs:
1010
name: Build, test and monitor quality on Ubuntu
1111

1212
steps:
13-
- uses: actions/checkout@v4
13+
- name: 'Checkout merge commit'
14+
uses: actions/checkout@v4
15+
with:
16+
ref: "${{ github.event.pull_request.merge_commit_sha }}"
17+
if: github.event.pull_request.merge_commit_sha != ''
18+
- name: 'Checkout PR head commit'
19+
uses: actions/checkout@v4
20+
with:
21+
ref: "${{ github.event.pull_request.head.sha }}"
22+
if: github.event.pull_request.merge_commit_sha == ''
1423
- name: Set up JDK 21
1524
uses: actions/setup-java@v4
1625
with:
@@ -149,43 +158,36 @@ jobs:
149158
"name": "Software Metrics",
150159
"tools": [
151160
{
152-
"name": "Cyclomatic Complexity",
153161
"id": "metrics",
154162
"pattern": "**/metrics/pmd.xml",
155163
"metric": "CYCLOMATIC_COMPLEXITY"
156164
},
157165
{
158-
"name": "Cognitive Complexity",
159166
"id": "metrics",
160167
"pattern": "**/metrics/pmd.xml",
161168
"metric": "COGNITIVE_COMPLEXITY"
162169
},
163170
{
164-
"name": "N-Path Complexity",
165171
"id": "metrics",
166172
"pattern": "**/metrics/pmd.xml",
167173
"metric": "NPATH_COMPLEXITY"
168174
},
169175
{
170-
"name": "Lines of Code",
171176
"id": "metrics",
172177
"pattern": "**/metrics/pmd.xml",
173178
"metric": "LOC"
174179
},
175180
{
176-
"name": "Non Commenting Source Statements",
177181
"id": "metrics",
178182
"pattern": "**/metrics/pmd.xml",
179183
"metric": "NCSS"
180184
},
181185
{
182-
"name": "Class cohesion",
183186
"id": "metrics",
184187
"pattern": "**/metrics/pmd.xml",
185188
"metric": "COHESION"
186189
},
187190
{
188-
"name": "Weight of a class",
189191
"id": "metrics",
190192
"pattern": "**/metrics/pmd.xml",
191193
"metric": "WEIGHT_OF_CLASS"

.github/workflows/update-badges.yml

Lines changed: 79 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,33 @@ jobs:
2525
with:
2626
maven-version: 3.9.9
2727
- name: Build and test with Maven
28-
run: mvn -V --color always -ntp clean verify -Pci -Ppit -Pdepgraph | tee maven.log
28+
env:
29+
NVD_API_KEY: ${{ secrets.NVD_API_KEY }}
30+
run: mvn -V --color always -ntp clean verify -Pci -Ppit -Pdepgraph -Powasp | tee maven.log
2931
- name: Run Quality Monitor
3032
uses: uhafner/quality-monitor@v2
3133
with:
3234
github-token: ${{ secrets.GITHUB_TOKEN }}
3335
config: >
3436
{
37+
"tests": {
38+
"name": "Tests",
39+
"tools": [
40+
{
41+
"id": "junit",
42+
"name": "JUnit Tests",
43+
"pattern": "**/target/*-reports/TEST*.xml"
44+
}
45+
]
46+
},
3547
"analysis": [
3648
{
3749
"name": "Style",
3850
"id": "style",
3951
"tools": [
4052
{
4153
"id": "checkstyle",
42-
"pattern": "**/target/checkstyle-*/checkstyle-result.xml"
54+
"pattern": "**/target/**checkstyle-result.xml"
4355
},
4456
{
4557
"id": "pmd",
@@ -62,6 +74,29 @@ jobs:
6274
"pattern": "**/maven.log"
6375
}
6476
]
77+
},
78+
{
79+
"name": "API Problems",
80+
"id": "api",
81+
"icon": "no_entry_sign",
82+
"tools": [
83+
{
84+
"id": "revapi",
85+
"sourcePath": "src/main/java",
86+
"pattern": "**/target/revapi-result.json"
87+
}
88+
]
89+
},
90+
{
91+
"name": "Vulnerabilities",
92+
"id": "vulnerabilities",
93+
"icon": "shield",
94+
"tools": [
95+
{
96+
"id": "owasp-dependency-check",
97+
"pattern": "**/target/dependency-check-report.json"
98+
}
99+
]
65100
}
66101
],
67102
"coverage": [
@@ -99,7 +134,48 @@ jobs:
99134
}
100135
]
101136
}
102-
]
137+
],
138+
"metrics":
139+
{
140+
"name": "Software Metrics",
141+
"tools": [
142+
{
143+
"id": "metrics",
144+
"pattern": "**/metrics/pmd.xml",
145+
"metric": "CYCLOMATIC_COMPLEXITY"
146+
},
147+
{
148+
"id": "metrics",
149+
"pattern": "**/metrics/pmd.xml",
150+
"metric": "COGNITIVE_COMPLEXITY"
151+
},
152+
{
153+
"id": "metrics",
154+
"pattern": "**/metrics/pmd.xml",
155+
"metric": "NPATH_COMPLEXITY"
156+
},
157+
{
158+
"id": "metrics",
159+
"pattern": "**/metrics/pmd.xml",
160+
"metric": "LOC"
161+
},
162+
{
163+
"id": "metrics",
164+
"pattern": "**/metrics/pmd.xml",
165+
"metric": "NCSS"
166+
},
167+
{
168+
"id": "metrics",
169+
"pattern": "**/metrics/pmd.xml",
170+
"metric": "COHESION"
171+
},
172+
{
173+
"id": "metrics",
174+
"pattern": "**/metrics/pmd.xml",
175+
"metric": "WEIGHT_OF_CLASS"
176+
}
177+
]
178+
}
103179
}
104180
- name: Write metrics to GitHub output
105181
id: metrics

LIESMICH.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
[![CodeQL](https://github.com/uhafner/codingstyle/workflows/CodeQL/badge.svg)](https://github.com/uhafner/codingstyle/actions/workflows/codeql.yml)
33
[![Line Coverage](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/line-coverage.svg)](https://app.codecov.io/gh/uhafner/codingstyle)
44
[![Branch Coverage](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/branch-coverage.svg)](https://app.codecov.io/gh/uhafner/codingstyle)
5-
[![Mutation Coverage](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/mutation-coverage.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor.yml)
6-
[![Warnings](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/style.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor.yml)
7-
[![Bugs](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/bugs.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor.yml)
5+
[![Mutation Coverage](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/mutation-coverage.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor-pit.yml)
6+
[![Warnings](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/style.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor-pit.yml)
7+
[![Bugs](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/bugs.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor-pit.yml)
88

99
In jedem Java Projekt sollte der gesamte Quelltext die gleichen Kriterien bei Stil, Formatierung, etc.
1010
verwenden. In diesem Projekt werden die Kodierungsrichtlinien zu meinen Vorlesungen an der Hochschule

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
[![CodeQL](https://github.com/uhafner/codingstyle/workflows/CodeQL/badge.svg)](https://github.com/uhafner/codingstyle/actions/workflows/codeql.yml)
33
[![Line Coverage](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/line-coverage.svg)](https://app.codecov.io/gh/uhafner/codingstyle)
44
[![Branch Coverage](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/branch-coverage.svg)](https://app.codecov.io/gh/uhafner/codingstyle)
5-
[![Mutation Coverage](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/mutation-coverage.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor.yml)
6-
[![Warnings](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/style.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor.yml)
7-
[![Bugs](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/bugs.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor.yml)
5+
[![Mutation Coverage](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/mutation-coverage.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor-pit.yml)
6+
[![Warnings](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/style.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor-pit.yml)
7+
[![Bugs](https://raw.githubusercontent.com/uhafner/codingstyle/main/badges/bugs.svg)](https://github.com/uhafner/codingstyle/actions/workflows/quality-monitor-pit.yml)
88

99
Each Java project should follow a given coding style.
1010
I.e., all contributions to the source code should use the same formatting rules, design principles, code patterns, idioms, etc.

badges/bugs.svg

Lines changed: 4 additions & 4 deletions
Loading

doc/Arbeiten-mit-GitLab.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,20 @@ Disclaimer: Die folgende Anleitung ist unter großer Hilfe der folgenden beiden
44

55
# Arbeiten mit GitLab
66

7-
Für Abgaben zu allen meinen Veranstaltungen benutze ich das vom LRZ betriebene [GitLab](https://gitlab.lrz.de/): GitLab bietet Studierenden **und** Lehrenden eine einfache Möglichkeit, Aufgaben für Praktika in einem Git Projekt zu verwalten.
7+
Für Abgaben zu allen meinen Veranstaltungen benutze ich das vom LRZ betriebene [GitLab](https://gitlab.lrz.de/):
8+
GitLab bietet Studierenden **und** Lehrenden eine einfache Möglichkeit, Aufgaben für Praktika in einem Git Projekt zu verwalten.
89
Die Nutzung bietet folgende Vorteile:
9-
- Sie lernen die gleiche Arbeitsweise kennen, die auch in der Industrie und vielen Open-Source-Projekten verwendet wird. So sind Sie ideal auf die Praxis vorbereitet.
10+
- Sie lernen die gleiche Arbeitsweise kennen, die auch in der Industrie und vielen Open-Source-Projekten verwendet wird.
11+
So sind Sie ideal auf die Praxis vorbereitet.
1012
- Sie haben eine ausgereifte Oberfläche, mit der Sie Ihre Abgaben verwalten können:
1113
- Darstellung von Commits
1214
- Reviews von Merge Requests
1315
- Nachverfolgung von offenen Punkten und Fehlern
1416
- Automatische Builds
1517
- Automatische Sicherung durch Backups
16-
- Ich habe eine einfache Möglichkeit, private Repositories auf Basis eines Templates für Abgaben zu erstellen. Die Aufgaben können sowohl als Einzel- oder Teamaufgabe konzipiert sein. Die Steuerung der Berechtigungen erfolgt automatisch.
18+
- Ich habe eine einfache Möglichkeit, private Repositories auf Basis eines Templates für Abgaben zu erstellen.
19+
Die Aufgaben können sowohl als Einzel- oder Teamaufgabe konzipiert sein.
20+
Die Steuerung der Berechtigungen erfolgt automatisch.
1721

1822
Die Voraussetzung zur Nutzung von GitLab in unserer Veranstaltung ist der normale Account unserer Hochschule.
1923
Dieser Account wird automatisch für Sie eingerichtet, wenn Sie sich an der Hochschule einschreiben.
@@ -25,7 +29,8 @@ Die Repositories sind immer als privat markiert, d.h nur Sie (und ggf. Ihre Team
2529
Im ersten Semester können Sie zum Hochladen die GitLab Oberfläche nutzen.
2630
Je erfahrener Sie werden, umso schneller können Sie den direkten Zugang über die Versionsverwaltung Git nutzen, das macht dann vieles einfacher und komfortabler.
2731

28-
Wenn Sie weitere Fragen zu GitLab haben, nutzen Sie bitte auch die [Online Hilfe](https://docs.gitlab.com). Fragen können Sie auch direkt im Praktikum (oder im jeweiligen Matrix Kanal der Veranstaltung) stellen.
32+
Wenn Sie weitere Fragen zu GitLab haben, nutzen Sie bitte auch die [Online Hilfe](https://docs.gitlab.com).
33+
Fragen können Sie auch direkt im Praktikum (oder im jeweiligen Matrix Kanal der Veranstaltung) stellen.
2934
In den nachfolgenden Abschnitten sind die wichtigsten Punkte kurz zusammengefasst.
3035

3136
## Mit dem Repository arbeiten
@@ -40,8 +45,10 @@ Am einfachsten nutzen Sie nur die Entwicklungsumgebung IntelliJ, um Ihr Projekt
4045
#### Import mit der Entwicklungsumgebung
4146

4247
Nach dem Start der Entwicklungsumgebung haben Sie die Möglichkeit, Ihr Projekt direkt zu importieren: Mit der Aktion **Get from VCS** (im Startup Wizard) oder dem Menüpunkt **File->New->Project from Version Control...** lässt sich das GitLab Projekt automatisch nach IntelliJ importieren.
43-
IntelliJ kümmert sich ab dann automatisch über die Verbindung zu GitLab. Kopieren Sie dazu Ihr Repository Link aus dem Classroom im Dialog in das Feld **Repository URL->URL** und bestätigen Sie den Import mit **Clone**.
44-
Beachten Sie, dass Sie sich beim Import über HTTPS authentifizieren müssen. Dazu müssen Sie ein Personal Access Token in GitLab erzeugen, die Authentifizierung via Browser funktioniert aktuell nicht.
48+
IntelliJ kümmert sich ab dann automatisch über die Verbindung zu GitLab.
49+
Kopieren Sie dazu Ihr Repository Link aus dem Classroom im Dialog in das Feld **Repository URL->URL** und bestätigen Sie den Import mit **Clone**.
50+
Beachten Sie, dass Sie sich beim Import über HTTPS authentifizieren müssen.
51+
Dazu müssen Sie ein Personal Access Token in GitLab erzeugen, die Authentifizierung via Browser funktioniert aktuell nicht.
4552

4653
Nachdem das Projekt auf Ihren Rechner übertragen wurde, wird es in IntelliJ importiert und gebaut.
4754
Je nach bestehender Konfiguration müssen Sie dazu noch im Konfigurationsdialog **File->Project Structure->SDKs** ein JDK 21 unter dem Namen "21" anlegen und referenzieren.

0 commit comments

Comments
 (0)