Skip to content

Commit 2369ac1

Browse files
Merge branch 'release/1.2.5'
2 parents d625090 + efdb007 commit 2369ac1

File tree

4 files changed

+49
-23
lines changed

4 files changed

+49
-23
lines changed

pom.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.cryptomator</groupId>
55
<artifactId>webdav-nio-adapter</artifactId>
6-
<version>1.2.4</version>
6+
<version>1.2.5</version>
77
<name>WebDAV-NIO Adapter</name>
88
<description>Embedded Jetty serving a WebDAV servlet to access resources at a given NIO path.</description>
99
<url>https://github.com/cryptomator/webdav-nio-adapter</url>
@@ -20,12 +20,12 @@
2020
<!-- dependencies -->
2121
<webdavservlet.version>1.2.0</webdavservlet.version>
2222
<dagger.version>2.37</dagger.version>
23-
<jetty.version>10.0.3</jetty.version>
24-
<guava.version>30.1-jre</guava.version>
25-
<slf4j.version>1.7.30</slf4j.version>
23+
<jetty.version>10.0.6</jetty.version>
24+
<guava.version>30.1.1-jre</guava.version>
25+
<slf4j.version>1.7.31</slf4j.version>
2626

2727
<!-- test dependencies -->
28-
<junit.jupiter.version>5.7.1</junit.jupiter.version>
28+
<junit.jupiter.version>5.7.2</junit.jupiter.version>
2929
</properties>
3030

3131
<licenses>
@@ -143,7 +143,7 @@
143143
</plugin>
144144
<plugin>
145145
<artifactId>maven-javadoc-plugin</artifactId>
146-
<version>3.2.0</version>
146+
<version>3.3.0</version>
147147
<executions>
148148
<execution>
149149
<id>attach-javadocs</id>
@@ -164,7 +164,7 @@
164164
<plugin>
165165
<groupId>org.owasp</groupId>
166166
<artifactId>dependency-check-maven</artifactId>
167-
<version>6.1.6</version>
167+
<version>6.2.2</version>
168168
<configuration>
169169
<cveValidForHours>24</cveValidForHours>
170170
<failBuildOnCVSS>0</failBuildOnCVSS>
@@ -193,7 +193,7 @@
193193
<plugin>
194194
<groupId>org.jacoco</groupId>
195195
<artifactId>jacoco-maven-plugin</artifactId>
196-
<version>0.8.6</version>
196+
<version>0.8.7</version>
197197
<executions>
198198
<execution>
199199
<id>prepare-agent</id>
@@ -219,7 +219,7 @@
219219
<plugins>
220220
<plugin>
221221
<artifactId>maven-gpg-plugin</artifactId>
222-
<version>1.6</version>
222+
<version>3.0.1</version>
223223
<executions>
224224
<execution>
225225
<id>sign-artifacts</id>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package org.cryptomator.frontend.webdav;
2+
3+
/**
4+
* from: https://www.baeldung.com/java-comparing-versions#customSolution
5+
*/
6+
public class VersionCompare {
7+
8+
public static int compareVersions(String version1, String version2) {
9+
int comparisonResult = 0;
10+
11+
String[] version1Splits = version1.split("\\.");
12+
String[] version2Splits = version2.split("\\.");
13+
int maxLengthOfVersionSplits = Math.max(version1Splits.length, version2Splits.length);
14+
15+
for (int i = 0; i < maxLengthOfVersionSplits; i++) {
16+
Integer v1 = i < version1Splits.length ? Integer.parseInt(version1Splits[i]) : 0;
17+
Integer v2 = i < version2Splits.length ? Integer.parseInt(version2Splits[i]) : 0;
18+
int compare = v1.compareTo(v2);
19+
if (compare != 0) {
20+
comparisonResult = compare;
21+
break;
22+
}
23+
}
24+
return comparisonResult;
25+
}
26+
27+
}

src/main/java/org/cryptomator/frontend/webdav/mount/MacAppleScriptMounter.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.cryptomator.frontend.webdav.mount;
22

3-
import com.google.common.base.Splitter;
4-
import com.google.common.collect.Iterables;
3+
import org.cryptomator.frontend.webdav.VersionCompare;
54
import org.slf4j.Logger;
65
import org.slf4j.LoggerFactory;
76

@@ -19,14 +18,14 @@
1918
class MacAppleScriptMounter implements MounterStrategy {
2019

2120
private static final Logger LOG = LoggerFactory.getLogger(MacAppleScriptMounter.class);
22-
private static final boolean IS_OS_MACOSX = System.getProperty("os.name").contains("Mac OS X");
23-
private static final String[] OS_VERSION = Iterables.toArray(Splitter.on('.').splitToList(System.getProperty("os.version")), String.class);
21+
private static final boolean IS_OS_MAC = System.getProperty("os.name").contains("Mac OS X");
22+
private static final String OS_VERSION = System.getProperty("os.version");
2423
private static final Pattern MOUNT_PATTERN = Pattern.compile(".* on (\\S+) \\(.*\\)"); // catches mount point in "http://host:port/foo/ on /Volumes/foo (webdav, nodev, noexec, nosuid)"
2524

2625
@Override
2726
public boolean isApplicable() {
2827
try {
29-
return IS_OS_MACOSX && OS_VERSION.length >= 2 && Integer.parseInt(OS_VERSION[1]) >= 10; // since macOS 10.10+
28+
return IS_OS_MAC && VersionCompare.compareVersions(OS_VERSION, "10.10") >= 0; // since macOS 10.10+
3029
} catch (NumberFormatException e) {
3130
return false;
3231
}

src/main/java/org/cryptomator/frontend/webdav/mount/MacShellScriptMounter.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package org.cryptomator.frontend.webdav.mount;
22

3+
import com.google.common.base.Splitter;
4+
import com.google.common.collect.Iterables;
5+
import org.cryptomator.frontend.webdav.VersionCompare;
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
8+
39
import java.io.IOException;
410
import java.net.URI;
511
import java.nio.charset.StandardCharsets;
@@ -12,24 +18,18 @@
1218
import java.util.concurrent.TimeUnit;
1319
import java.util.zip.CRC32;
1420

15-
import org.slf4j.Logger;
16-
import org.slf4j.LoggerFactory;
17-
18-
import com.google.common.base.Splitter;
19-
import com.google.common.collect.Iterables;
20-
2121
class MacShellScriptMounter implements MounterStrategy {
2222

2323
private static final Logger LOG = LoggerFactory.getLogger(MacShellScriptMounter.class);
2424
private static final Path VOLUMES_PATH = Paths.get("/Volumes");
25-
private static final boolean IS_OS_MACOSX = System.getProperty("os.name").contains("Mac OS X");
26-
private static final String[] OS_VERSION = Iterables.toArray(Splitter.on('.').splitToList(System.getProperty("os.version")), String.class);
25+
private static final boolean IS_OS_MAC = System.getProperty("os.name").contains("Mac OS X");
26+
private static final String OS_VERSION = System.getProperty("os.version");
2727

2828
@Override
2929
public boolean isApplicable() {
3030
try {
3131
// Fail fast for systems >= 10.9
32-
if (!IS_OS_MACOSX || OS_VERSION.length < 2 || Integer.parseInt(OS_VERSION[1]) >= 10) { // since macOS 10.10+
32+
if (!IS_OS_MAC || VersionCompare.compareVersions(OS_VERSION, "10.10") < 0) {
3333
return false;
3434
}
3535
} catch (NumberFormatException e) {

0 commit comments

Comments
 (0)