Skip to content

Commit 8f8df4e

Browse files
authored
Merge pull request #904 from gsmet/ssl-library-path-macos
Fix the library path for MacOS for SSL support
2 parents 98c3f75 + 6e76c6d commit 8f8df4e

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

core/deployment/src/main/java/org/jboss/shamrock/deployment/steps/SubstrateConfigBuildStep.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
package org.jboss.shamrock.deployment.steps;
1818

1919
import java.io.File;
20+
import java.nio.file.Files;
21+
import java.nio.file.Path;
22+
import java.nio.file.Paths;
2023
import java.util.List;
2124
import java.util.Map;
2225
import java.util.stream.Collectors;
@@ -80,12 +83,18 @@ void build(List<SubstrateConfigBuildItem> substrateConfigBuildItems,
8083
String graalVmHome = System.getenv("GRAALVM_HOME");
8184

8285
if (graalVmHome != null) {
83-
String graalVmLibDirectory = graalVmHome + File.separator + "jre" + File.separator + "lib" + File.separator;
86+
Path graalVmLibDirectory = Paths.get(graalVmHome, "jre", "lib");
87+
Path linuxLibDirectory = graalVmLibDirectory.resolve("amd64");
8488

89+
if (Files.exists(linuxLibDirectory)) {
90+
// On Linux, the SunEC library is in jre/lib/amd64/
91+
systemProperty.produce(new SystemPropertyBuildItem("java.library.path", linuxLibDirectory.toString()));
92+
} else {
93+
// On MacOS, the SunEC library is directly in jre/lib/
94+
systemProperty.produce(new SystemPropertyBuildItem("java.library.path", graalVmLibDirectory.toString()));
95+
}
8596
systemProperty.produce(
86-
new SystemPropertyBuildItem("java.library.path", graalVmLibDirectory + "amd64"));
87-
systemProperty.produce(
88-
new SystemPropertyBuildItem("javax.net.ssl.trustStore", graalVmLibDirectory + "security" + File.separator + "cacerts"));
97+
new SystemPropertyBuildItem("javax.net.ssl.trustStore", graalVmLibDirectory.resolve(Paths.get("security", "cacerts")).toString()));
8998
} else {
9099
log.warn(
91100
"SSL is enabled but the GRAALVM_HOME environment variable is not set. The java.library.path property has not been set and will need to be set manually.");

0 commit comments

Comments
 (0)