Skip to content

Commit 299a04a

Browse files
Merge branch 'release/1.1.0'
2 parents 952c5fa + ef29697 commit 299a04a

27 files changed

+126
-86
lines changed

.github/workflows/build.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,19 @@ jobs:
88
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
99
steps:
1010
- uses: actions/checkout@v2
11-
- uses: actions/setup-java@v1
11+
- uses: actions/setup-java@v2
1212
with:
13-
java-version: 11
14-
- uses: actions/cache@v2
15-
with:
16-
path: ~/.m2/repository
17-
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
18-
restore-keys: |
19-
${{ runner.os }}-maven-
13+
distribution: 'temurin'
14+
java-version: 17
15+
cache: 'maven'
2016
- name: Ensure to use tagged version
2117
if: startsWith(github.ref, 'refs/tags/')
2218
shell: bash
2319
run: |
2420
mvn versions:set --file ./pom.xml -DnewVersion=${GITHUB_REF##*/}
2521
- name: Build and Test
2622
id: buildAndTest
27-
run: mvn -B clean install
23+
run: mvn -B clean install -Pdependency-check
2824
- uses: actions/upload-artifact@v2
2925
with:
3026
name: artifacts

.github/workflows/codeql-analysis.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,11 @@ jobs:
1818
- uses: actions/checkout@v2
1919
with:
2020
fetch-depth: 2
21-
- uses: actions/setup-java@v1
21+
- uses: actions/setup-java@v2
2222
with:
23-
java-version: 11
24-
- uses: actions/cache@v2
25-
with:
26-
path: ~/.m2/repository
27-
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
28-
restore-keys: |
29-
${{ runner.os }}-maven-
23+
distribution: 'temurin'
24+
java-version: 17
25+
cache: 'maven'
3026
- name: Initialize CodeQL
3127
uses: github/codeql-action/init@v1
3228
with:

.github/workflows/publish-central.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,26 @@ jobs:
1313
- uses: actions/checkout@v2
1414
with:
1515
ref: "refs/tags/${{ github.event.inputs.tag }}"
16-
- uses: actions/setup-java@v1
16+
- uses: actions/setup-java@v2
1717
with:
18-
java-version: 11
18+
distribution: 'temurin'
19+
java-version: 17
20+
cache: 'maven'
1921
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
2022
server-username: MAVEN_USERNAME # env variable for username in deploy
2123
server-password: MAVEN_PASSWORD # env variable for token in deploy
2224
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
2325
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
24-
- uses: actions/cache@v2
25-
with:
26-
path: ~/.m2/repository
27-
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
28-
restore-keys: |
29-
${{ runner.os }}-maven-
3026
- name: Enforce project version ${{ github.event.inputs.tag }}
3127
run: mvn versions:set -B -DnewVersion=${{ github.event.inputs.tag }}
3228
- name: Deploy
3329
run: mvn deploy -B -DskipTests -Psign,deploy-central --no-transfer-progress
3430
env:
31+
MAVEN_OPTS: >
32+
--add-opens=java.base/java.util=ALL-UNNAMED
33+
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
34+
--add-opens=java.base/java.text=ALL-UNNAMED
35+
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED
3536
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
3637
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
3738
MAVEN_GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}

.github/workflows/publish-github.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,13 @@ jobs:
88
if: startsWith(github.ref, 'refs/tags/') # only allow publishing tagged versions
99
steps:
1010
- uses: actions/checkout@v2
11-
- uses: actions/setup-java@v1
11+
- uses: actions/setup-java@v2
1212
with:
13-
java-version: 11
13+
distribution: 'temurin'
14+
java-version: 17
15+
cache: 'maven'
1416
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
1517
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
16-
- uses: actions/cache@v2
17-
with:
18-
path: ~/.m2/repository
19-
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
20-
restore-keys: |
21-
${{ runner.os }}-maven-
2218
- name: Enforce project version ${{ github.event.release.tag_name }}
2319
run: mvn versions:set -B -DnewVersion=${{ github.event.release.tag_name }}
2420
- name: Deploy

.idea/misc.xml

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

pom.xml

Lines changed: 44 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>org.cryptomator</groupId>
77
<artifactId>integrations-mac</artifactId>
8-
<version>1.0.0</version>
8+
<version>1.1.0</version>
99

1010
<name>Cryptomator Integrations for macOS</name>
1111
<description>Provides optional macOS services used by Cryptomator</description>
@@ -27,16 +27,19 @@
2727

2828
<properties>
2929
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
30+
<project.jdk.version>17</project.jdk.version>
3031

3132
<!-- runtime dependencies -->
32-
<api.version>1.0.0</api.version>
33-
<slf4j.version>1.7.32</slf4j.version>
34-
<guava.version>31.0-jre</guava.version>
35-
<gson.version>2.8.8</gson.version>
33+
<api.version>1.1.0</api.version>
34+
<slf4j.version>1.7.36</slf4j.version>
3635

3736
<!-- test dependencies -->
38-
<junit.jupiter.version>5.8.1</junit.jupiter.version>
39-
<mockito.version>3.12.4</mockito.version>
37+
<junit.jupiter.version>5.8.2</junit.jupiter.version>
38+
<mockito.version>4.4.0</mockito.version>
39+
40+
<!-- build plugin dependencies -->
41+
<dependency-check.version>7.0.0</dependency-check.version>
42+
<nexus-staging.version>1.6.8</nexus-staging.version>
4043
</properties>
4144

4245
<licenses>
@@ -58,16 +61,6 @@
5861
<artifactId>slf4j-api</artifactId>
5962
<version>${slf4j.version}</version>
6063
</dependency>
61-
<dependency>
62-
<groupId>com.google.code.gson</groupId>
63-
<artifactId>gson</artifactId>
64-
<version>${gson.version}</version>
65-
</dependency>
66-
<dependency>
67-
<groupId>com.google.guava</groupId>
68-
<artifactId>guava</artifactId>
69-
<version>${guava.version}</version>
70-
</dependency>
7164

7265
<!-- JUnit / Mockito / Hamcrest -->
7366
<dependency>
@@ -111,13 +104,13 @@
111104
<plugin>
112105
<groupId>org.apache.maven.plugins</groupId>
113106
<artifactId>maven-compiler-plugin</artifactId>
114-
<version>3.8.1</version>
107+
<version>3.10.1</version>
115108
<configuration>
116109
<compilerArgs>
117110
<arg>-h</arg>
118111
<arg>${project.basedir}/src/main/headers</arg>
119112
</compilerArgs>
120-
<release>11</release>
113+
<release>${project.jdk.version}</release>
121114
</configuration>
122115
</plugin>
123116
<plugin>
@@ -222,7 +215,7 @@
222215
</plugin>
223216
<plugin>
224217
<artifactId>maven-javadoc-plugin</artifactId>
225-
<version>3.3.1</version>
218+
<version>3.3.2</version>
226219
<executions>
227220
<execution>
228221
<id>attach-javadocs</id>
@@ -233,7 +226,7 @@
233226
</executions>
234227
<configuration>
235228
<quiet>true</quiet>
236-
<release>11</release>
229+
<release>${project.jdk.version}</release>
237230
<tags>
238231
<!-- workaround for "unknown tag: implNote", see https://blog.codefx.org/java/new-javadoc-tags/#Maven -->
239232
<tag>
@@ -279,6 +272,33 @@
279272
</build>
280273

281274
<profiles>
275+
<profile>
276+
<id>dependency-check</id>
277+
<build>
278+
<plugins>
279+
<plugin>
280+
<groupId>org.owasp</groupId>
281+
<artifactId>dependency-check-maven</artifactId>
282+
<version>${dependency-check.version}</version>
283+
<configuration>
284+
<cveValidForHours>24</cveValidForHours>
285+
<failBuildOnCVSS>0</failBuildOnCVSS>
286+
<skipTestScope>true</skipTestScope>
287+
<detail>true</detail>
288+
<suppressionFile>suppression.xml</suppressionFile>
289+
</configuration>
290+
<executions>
291+
<execution>
292+
<goals>
293+
<goal>check</goal>
294+
</goals>
295+
</execution>
296+
</executions>
297+
</plugin>
298+
</plugins>
299+
</build>
300+
</profile>
301+
282302
<profile>
283303
<id>sign</id>
284304
<build>
@@ -312,19 +332,19 @@
312332
<repository>
313333
<id>ossrh</id>
314334
<name>Maven Central</name>
315-
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
335+
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
316336
</repository>
317337
</distributionManagement>
318338
<build>
319339
<plugins>
320340
<plugin>
321341
<groupId>org.sonatype.plugins</groupId>
322342
<artifactId>nexus-staging-maven-plugin</artifactId>
323-
<version>1.6.8</version>
343+
<version>${nexus-staging.version}</version>
324344
<extensions>true</extensions>
325345
<configuration>
326346
<serverId>ossrh</serverId>
327-
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
347+
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
328348
<autoReleaseAfterClose>true</autoReleaseAfterClose>
329349
</configuration>
330350
</plugin>

src/main/java/module-info.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import org.cryptomator.integrations.autostart.AutoStartProvider;
2+
import org.cryptomator.integrations.keychain.KeychainAccessProvider;
3+
import org.cryptomator.integrations.tray.TrayIntegrationProvider;
4+
import org.cryptomator.integrations.uiappearance.UiAppearanceProvider;
5+
import org.cryptomator.macos.autostart.MacAutoStartProvider;
6+
import org.cryptomator.macos.keychain.MacSystemKeychainAccess;
7+
import org.cryptomator.macos.tray.MacTrayIntegrationProvider;
8+
import org.cryptomator.macos.uiappearance.MacUiAppearanceProvider;
9+
10+
module org.cryptomator.integrations.mac {
11+
requires org.cryptomator.integrations.api;
12+
requires org.slf4j;
13+
14+
provides AutoStartProvider with MacAutoStartProvider;
15+
provides KeychainAccessProvider with MacSystemKeychainAccess;
16+
provides TrayIntegrationProvider with MacTrayIntegrationProvider;
17+
provides UiAppearanceProvider with MacUiAppearanceProvider;
18+
}

src/main/java/org/cryptomator/macos/autostart/MacAutoStartProvider.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
import org.cryptomator.integrations.autostart.AutoStartProvider;
44
import org.cryptomator.integrations.autostart.ToggleAutoStartFailedException;
5+
import org.cryptomator.integrations.common.OperatingSystem;
6+
import org.cryptomator.integrations.common.Priority;
57

8+
@Priority(1000)
9+
@OperatingSystem(OperatingSystem.Value.MAC)
610
public class MacAutoStartProvider implements AutoStartProvider {
711

812
private final MacLaunchServices launchServices;

src/main/java/org/cryptomator/macos/keychain/MacSystemKeychainAccess.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package org.cryptomator.macos.keychain;
22

3+
import org.cryptomator.integrations.common.OperatingSystem;
4+
import org.cryptomator.integrations.common.Priority;
35
import org.cryptomator.integrations.keychain.KeychainAccessException;
46
import org.cryptomator.integrations.keychain.KeychainAccessProvider;
57
import org.cryptomator.macos.common.Localization;
68

9+
@Priority(1000)
10+
@OperatingSystem(OperatingSystem.Value.MAC)
711
public class MacSystemKeychainAccess implements KeychainAccessProvider {
812

913
private final MacKeychain keychain;
@@ -23,7 +27,7 @@ public String displayName() {
2327
}
2428

2529
@Override
26-
public void storePassphrase(String key, CharSequence passphrase) throws KeychainAccessException {
30+
public void storePassphrase(String key, String displayName, CharSequence passphrase) throws KeychainAccessException {
2731
keychain.storePassword(key, passphrase);
2832
}
2933

@@ -48,7 +52,7 @@ public void deletePassphrase(String key) throws KeychainAccessException {
4852
}
4953

5054
@Override
51-
public void changePassphrase(String key, CharSequence passphrase) throws KeychainAccessException {
55+
public void changePassphrase(String key, String displayName, CharSequence passphrase) throws KeychainAccessException {
5256
if (keychain.deletePassword(key)) {
5357
keychain.storePassword(key, passphrase);
5458
}

src/main/java/org/cryptomator/macos/tray/MacTrayIntegrationProvider.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package org.cryptomator.macos.tray;
22

3+
import org.cryptomator.integrations.common.OperatingSystem;
4+
import org.cryptomator.integrations.common.Priority;
35
import org.cryptomator.integrations.tray.TrayIntegrationProvider;
46

7+
@Priority(1000)
8+
@OperatingSystem(OperatingSystem.Value.MAC)
59
public class MacTrayIntegrationProvider implements TrayIntegrationProvider {
610

711
private final ActivationPolicy activationPolicy;

0 commit comments

Comments
 (0)