You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by tj...@apache.org on 2022/09/23 12:40:43 UTC
[felix-atomos] branch master updated: add handling for running build on Windows
This is an automated email from the ASF dual-hosted git repository.
tjwatson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-atomos.git
The following commit(s) were added to refs/heads/master by this push:
new 6a71137 add handling for running build on Windows
new 4d50bad Merge pull request #70 from fipro78/master
6a71137 is described below
commit 6a7113717944be3c7bb7e917078a2e2daab259ec
Author: Dirk Fauth <di...@gmail.com>
AuthorDate: Thu Sep 22 19:08:57 2022 +0200
add handling for running build on Windows
---
.../substrate/impl/NativeImageArgumentsImpl.java | 2 +-
.../utils/substrate/impl/NativeImageCliUtil.java | 21 ++++++++++++++++++---
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/NativeImageArgumentsImpl.java b/atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/NativeImageArgumentsImpl.java
index a702164..a7e998c 100644
--- a/atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/NativeImageArgumentsImpl.java
+++ b/atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/NativeImageArgumentsImpl.java
@@ -121,7 +121,7 @@ public class NativeImageArgumentsImpl implements DefaultNativeImageArguments
.map(Path::toAbsolutePath)//
.sorted(NativeImageArgumentsImpl::byAbsolutePath)//
.map(Path::toString)//
- .collect(Collectors.joining(":"));
+ .collect(Collectors.joining(NativeImageCliUtil.isWindows() ? ";" : ":"));
arguments.add(cp);
//--verbose
diff --git a/atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/NativeImageCliUtil.java b/atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/NativeImageCliUtil.java
index 7bbcda2..5b9eee2 100644
--- a/atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/NativeImageCliUtil.java
+++ b/atomos.utils/atomos.utils.substrate.impl/src/main/java/org/apache/felix/atomos/utils/substrate/impl/NativeImageCliUtil.java
@@ -34,6 +34,17 @@ public class NativeImageCliUtil
private static final String JAVA_HOME = "java.home";
+ public static final String OS;
+ private static final String EXECUTABLE;
+ static {
+ OS = System.getProperty("os.name");
+ EXECUTABLE = isWindows() ? "native-image.cmd" : "native-image";
+ }
+
+ public static boolean isWindows() {
+ return (OS != null && OS.startsWith("Windows"));
+ }
+
public static Path execute(final Path outputDir,
final BaseNativeImageArguments arguments) throws Exception
{
@@ -52,7 +63,11 @@ public class NativeImageCliUtil
+ "' with the path as an environment variable");
}
- final Path resultFile = executionDir.resolve(arguments.name());
+ String resultFileName = arguments.name();
+ if (isWindows()) {
+ resultFileName += ".exe";
+ }
+ final Path resultFile = executionDir.resolve(resultFileName);
final List<String> commands = new ArrayList<>();
commands.add(exec.get().toAbsolutePath().toString());
@@ -91,7 +106,7 @@ public class NativeImageCliUtil
{
if (path == null)
{
- Optional<Path> oExec = findNativeImageExecutable(Paths.get("native-image"));
+ Optional<Path> oExec = findNativeImageExecutable(Paths.get(EXECUTABLE));
if (oExec.isPresent())
{
return oExec;
@@ -122,7 +137,7 @@ public class NativeImageCliUtil
else if (Files.isDirectory(path))
{
final Optional<Path> candidate = findNativeImageExecutable(
- path.resolve("native-image"));
+ path.resolve(EXECUTABLE));
if (candidate.isPresent())
{
return candidate;