Skip to content

Commit cc946dd

Browse files
committed
Merge branch 'release/2.2.0'
2 parents 67553a2 + 29e4630 commit cc946dd

File tree

10 files changed

+166
-57
lines changed

10 files changed

+166
-57
lines changed

.github/dependabot.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "maven"
4+
directory: "/"
5+
schedule:
6+
interval: "monthly"
7+
groups:
8+
java-test-dependencies:
9+
patterns:
10+
- "org.junit.jupiter:*"
11+
- "org.mockito:*"
12+
- "org.hamcrest:*"
13+
- "org.openjdk.jmh:*"
14+
maven-build-plugins:
15+
patterns:
16+
- "org.apache.maven.plugins:*"
17+
- "org.codehaus.mojo:exec-maven-plugin"
18+
- "org.jacoco:jacoco-maven-plugin"
19+
- "org.owasp:dependency-check-maven"
20+
- "org.sonatype.plugins:nexus-staging-maven-plugin"
21+
java-production-dependencies:
22+
patterns:
23+
- "*"
24+
exclude-patterns:
25+
- "org.junit.jupiter:*"
26+
- "org.mockito:*"
27+
- "org.hamcrest:*"
28+
- "org.openjdk.jmh:*"
29+
- "org.apache.maven.plugins:*"
30+
- "org.codehaus.mojo:exec-maven-plugin"
31+
- "org.jacoco:jacoco-maven-plugin"
32+
- "org.owasp:dependency-check-maven"
33+
- "org.sonatype.plugins:nexus-staging-maven-plugin"
34+
35+
36+
- package-ecosystem: "github-actions"
37+
directory: "/" # even for `.github/workflows`
38+
schedule:
39+
interval: "monthly"
40+
groups:
41+
github-actions:
42+
patterns:
43+
- "*"
44+
labels:
45+
- "ci"

.github/workflows/build.yml

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,17 @@ jobs:
55
build:
66
name: Build and Test
77
runs-on: ubuntu-latest
8-
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
98
steps:
10-
- uses: actions/checkout@v3
9+
- uses: actions/checkout@v4
1110
with:
1211
fetch-depth: 0
13-
- uses: actions/setup-java@v3
12+
- uses: actions/setup-java@v4
1413
with:
15-
java-version: 11
14+
java-version: 22
1615
distribution: 'temurin'
1716
cache: 'maven'
1817
- name: Cache SonarCloud packages
19-
uses: actions/cache@v3
18+
uses: actions/cache@v4
2019
with:
2120
path: ~/.sonar/cache
2221
key: ${{ runner.os }}-sonar
@@ -30,23 +29,21 @@ jobs:
3029
mvn -B verify
3130
jacoco:report
3231
org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
33-
-Pcoverage,dependency-check
32+
-Pcoverage
3433
-Dsonar.projectKey=cryptomator_cryptolib
3534
-Dsonar.organization=cryptomator
3635
-Dsonar.host.url=https://sonarcloud.io
3736
env:
3837
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
3938
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
40-
- uses: actions/upload-artifact@v3
39+
- uses: actions/upload-artifact@v4
4140
with:
4241
name: artifacts
4342
path: target/*.jar
4443
- name: Create Release
45-
uses: actions/create-release@v1 # NOTE: action is unmaintained and repo archived
44+
uses: softprops/action-gh-release@v2
4645
if: startsWith(github.ref, 'refs/tags/')
47-
env:
48-
GITHUB_TOKEN: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }} # release as "cryptobot"
4946
with:
50-
tag_name: ${{ github.ref }}
51-
release_name: Release ${{ github.ref }}
52-
prerelease: true
47+
prerelease: true
48+
token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }}
49+
generate_release_notes: true

.github/workflows/codeql-analysis.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,20 @@ jobs:
1313
analyse:
1414
name: Analyse
1515
runs-on: ubuntu-latest
16-
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
1716
steps:
18-
- uses: actions/checkout@v3
17+
- uses: actions/checkout@v4
1918
with:
2019
fetch-depth: 2
21-
- uses: actions/setup-java@v3
20+
- uses: actions/setup-java@v4
2221
with:
23-
java-version: 11
22+
java-version: 22
2423
distribution: 'temurin'
2524
cache: 'maven'
2625
- name: Initialize CodeQL
27-
uses: github/codeql-action/init@v2
26+
uses: github/codeql-action/init@v3
2827
with:
2928
languages: java
3029
- name: Build and Test
3130
run: mvn -B install -DskipTests
3231
- name: Perform CodeQL Analysis
33-
uses: github/codeql-action/analyze@v2
32+
uses: github/codeql-action/analyze@v3
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: OWASP Maven Dependency Check
2+
on:
3+
schedule:
4+
- cron: '0 12 * * 0'
5+
push:
6+
branches:
7+
- 'release/**'
8+
workflow_dispatch:
9+
10+
11+
jobs:
12+
check-dependencies:
13+
uses: skymatic/workflows/.github/workflows/run-dependency-check.yml@v1
14+
with:
15+
runner-os: 'ubuntu-latest'
16+
java-distribution: 'temurin'
17+
java-version: 22
18+
secrets:
19+
nvd-api-key: ${{ secrets.NVD_API_KEY }}
20+
slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}

.github/workflows/publish-central.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ jobs:
1010
publish:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v3
13+
- uses: actions/checkout@v4
1414
with:
1515
ref: "refs/tags/${{ github.event.inputs.tag }}"
16-
- uses: actions/setup-java@v3
16+
- uses: actions/setup-java@v4
1717
with:
18-
java-version: 11
18+
java-version: 22
1919
distribution: 'temurin'
2020
cache: 'maven'
2121
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
@@ -24,10 +24,11 @@ jobs:
2424
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
2525
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
2626
- name: Enforce project version ${{ github.event.inputs.tag }}
27-
run: mvn versions:set -B -DnewVersion=${{ github.event.inputs.tag }}
27+
run: mvn versions:set -B -DnewVersion=$GIT_TAG
2828
- name: Deploy
2929
run: mvn deploy -B -DskipTests -Psign,deploy-central --no-transfer-progress
3030
env:
31+
GIT_TAG: ${{ github.event.inputs.tag }}
3132
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
3233
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
3334
MAVEN_GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}

.github/workflows/publish-github.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ jobs:
77
runs-on: ubuntu-latest
88
if: startsWith(github.ref, 'refs/tags/') # only allow publishing tagged versions
99
steps:
10-
- uses: actions/checkout@v3
11-
- uses: actions/setup-java@v3
10+
- uses: actions/checkout@v4
11+
- uses: actions/setup-java@v4
1212
with:
13-
java-version: 11
13+
java-version: 22
1414
distribution: 'temurin'
1515
cache: 'maven'
1616
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import

.idea/misc.xml

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pom.xml

Lines changed: 42 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<modelVersion>4.0.0</modelVersion>
33
<groupId>org.cryptomator</groupId>
44
<artifactId>cryptolib</artifactId>
5-
<version>2.1.2</version>
5+
<version>2.2.0</version>
66
<name>Cryptomator Crypto Library</name>
77
<description>This library contains all cryptographic functions that are used by Cryptomator.</description>
88
<url>https://github.com/cryptomator/cryptolib</url>
@@ -18,22 +18,22 @@
1818
<maven.compiler.release>8</maven.compiler.release>
1919

2020
<!-- dependencies -->
21-
<gson.version>2.8.9</gson.version>
22-
<guava.version>31.0.1-jre</guava.version>
23-
<siv-mode.version>1.4.4</siv-mode.version>
24-
<bouncycastle.version>1.70</bouncycastle.version>
25-
<slf4j.version>1.7.35</slf4j.version>
21+
<gson.version>2.10.1</gson.version>
22+
<guava.version>33.1.0-jre</guava.version>
23+
<siv-mode.version>1.5.2</siv-mode.version>
24+
<bouncycastle.version>1.78.1</bouncycastle.version>
25+
<slf4j.version>2.0.13</slf4j.version>
2626

2727
<!-- test dependencies -->
28-
<junit.jupiter.version>5.8.2</junit.jupiter.version>
29-
<mockito.version>4.3.1</mockito.version>
28+
<junit.jupiter.version>5.10.2</junit.jupiter.version>
29+
<mockito.version>5.11.0</mockito.version>
3030
<hamcrest.version>2.2</hamcrest.version>
31-
<jmh.version>1.34</jmh.version>
31+
<jmh.version>1.37</jmh.version>
3232

3333
<!-- build plugin dependencies -->
34-
<dependency-check.version>6.5.3</dependency-check.version>
35-
<jacoco.version>0.8.7</jacoco.version>
36-
<nexus-staging.version>1.6.8</nexus-staging.version>
34+
<dependency-check.version>9.1.0</dependency-check.version>
35+
<jacoco.version>0.8.12</jacoco.version>
36+
<nexus-staging.version>1.6.13</nexus-staging.version>
3737
</properties>
3838

3939
<licenses>
@@ -63,7 +63,7 @@
6363

6464
<dependency>
6565
<groupId>org.bouncycastle</groupId>
66-
<artifactId>bcpkix-jdk15on</artifactId>
66+
<artifactId>bcpkix-jdk18on</artifactId>
6767
<version>${bouncycastle.version}</version>
6868
<!-- see maven-shade-plugin; we don't want this as a transitive dependency in other projects -->
6969
<optional>true</optional>
@@ -131,7 +131,7 @@
131131
<plugin>
132132
<groupId>org.apache.maven.plugins</groupId>
133133
<artifactId>maven-enforcer-plugin</artifactId>
134-
<version>3.0.0</version>
134+
<version>3.4.1</version>
135135
<executions>
136136
<execution>
137137
<id>enforce-java</id>
@@ -141,8 +141,8 @@
141141
<configuration>
142142
<rules>
143143
<requireJavaVersion>
144-
<message>You need at least JDK 11.0.3 to build this project.</message>
145-
<version>[11.0.3,)</version>
144+
<message>You need at least JDK 22 to build this project.</message>
145+
<version>[22,)</version>
146146
</requireJavaVersion>
147147
</rules>
148148
</configuration>
@@ -151,7 +151,7 @@
151151
</plugin>
152152
<plugin>
153153
<artifactId>maven-compiler-plugin</artifactId>
154-
<version>3.9.0</version>
154+
<version>3.13.0</version>
155155
<configuration>
156156
<encoding>UTF-8</encoding>
157157
<showWarnings>true</showWarnings>
@@ -171,11 +171,25 @@
171171
<multiReleaseOutput>true</multiReleaseOutput>
172172
</configuration>
173173
</execution>
174+
<execution>
175+
<id>java22</id>
176+
<phase>compile</phase>
177+
<goals>
178+
<goal>compile</goal>
179+
</goals>
180+
<configuration>
181+
<release>22</release>
182+
<compileSourceRoots>
183+
<compileSourceRoot>${project.basedir}/src/main/java22</compileSourceRoot>
184+
</compileSourceRoots>
185+
<multiReleaseOutput>true</multiReleaseOutput>
186+
</configuration>
187+
</execution>
174188
</executions>
175189
</plugin>
176190
<plugin>
177191
<artifactId>maven-shade-plugin</artifactId>
178-
<version>3.4.0</version>
192+
<version>3.5.3</version>
179193
<executions>
180194
<execution>
181195
<phase>package</phase>
@@ -213,7 +227,7 @@
213227
<plugin>
214228
<groupId>org.codehaus.mojo</groupId>
215229
<artifactId>exec-maven-plugin</artifactId>
216-
<version>3.1.0</version>
230+
<version>3.2.0</version>
217231
<executions>
218232
<execution>
219233
<phase>package</phase>
@@ -228,6 +242,7 @@
228242
<argument>--update</argument>
229243
<argument>--file=${project.build.directory}/${project.build.finalName}.jar</argument>
230244
<argument>META-INF/versions/9/module-info.class</argument>
245+
<argument>META-INF/versions/22/module-info.class</argument>
231246
</arguments>
232247
</configuration>
233248
</execution>
@@ -236,12 +251,12 @@
236251
<plugin>
237252
<groupId>org.apache.maven.plugins</groupId>
238253
<artifactId>maven-surefire-plugin</artifactId>
239-
<version>3.0.0-M5</version>
254+
<version>3.2.5</version>
240255
</plugin>
241256
<plugin>
242257
<groupId>org.apache.maven.plugins</groupId>
243258
<artifactId>maven-jar-plugin</artifactId>
244-
<version>3.2.2</version>
259+
<version>3.4.1</version>
245260
<configuration>
246261
<archive>
247262
<manifestEntries>
@@ -253,7 +268,7 @@
253268
</plugin>
254269
<plugin>
255270
<artifactId>maven-source-plugin</artifactId>
256-
<version>3.2.1</version>
271+
<version>3.3.1</version>
257272
<executions>
258273
<execution>
259274
<id>attach-sources</id>
@@ -265,7 +280,7 @@
265280
</plugin>
266281
<plugin>
267282
<artifactId>maven-javadoc-plugin</artifactId>
268-
<version>3.3.1</version>
283+
<version>3.6.3</version>
269284
<executions>
270285
<execution>
271286
<id>attach-javadocs</id>
@@ -317,17 +332,19 @@
317332
<artifactId>dependency-check-maven</artifactId>
318333
<version>${dependency-check.version}</version>
319334
<configuration>
320-
<cveValidForHours>24</cveValidForHours>
335+
<nvdValidForHours>24</nvdValidForHours>
321336
<failBuildOnCVSS>0</failBuildOnCVSS>
322337
<skipTestScope>true</skipTestScope>
323338
<detail>true</detail>
324339
<suppressionFile>suppression.xml</suppressionFile>
340+
<nvdApiKey>${env.NVD_API_KEY}</nvdApiKey>
325341
</configuration>
326342
<executions>
327343
<execution>
328344
<goals>
329345
<goal>check</goal>
330346
</goals>
347+
<phase>validate</phase>
331348
</execution>
332349
</executions>
333350
</plugin>
@@ -368,7 +385,7 @@
368385
<plugins>
369386
<plugin>
370387
<artifactId>maven-gpg-plugin</artifactId>
371-
<version>3.0.1</version>
388+
<version>3.2.4</version>
372389
<executions>
373390
<execution>
374391
<id>sign-artifacts</id>

0 commit comments

Comments
 (0)