Merge pull request #59 from tjwatson/issue57
Fix issues with native build of jaxrs example
diff --git a/atomos.examples/atomos.examples.jaxrs/pom.xml b/atomos.examples/atomos.examples.jaxrs/pom.xml
index 097df58..4ea57c6 100644
--- a/atomos.examples/atomos.examples.jaxrs/pom.xml
+++ b/atomos.examples/atomos.examples.jaxrs/pom.xml
@@ -192,6 +192,7 @@
<additionalInitializeAtBuildTime>org.eclipse.jetty.util.log.StdErrLog</additionalInitializeAtBuildTime>
<additionalInitializeAtBuildTime>org.eclipse.jetty.util.Uptime</additionalInitializeAtBuildTime>
<additionalInitializeAtBuildTime>org.eclipse.jetty.server.HttpOutput</additionalInitializeAtBuildTime>
+ <additionalInitializeAtBuildTime>org.eclipse.jetty.util.ModuleLocation</additionalInitializeAtBuildTime>
<additionalInitializeAtBuildTime>org.slf4j</additionalInitializeAtBuildTime>
<additionalInitializeAtBuildTime>org.slf4j.impl</additionalInitializeAtBuildTime>
<additionalInitializeAtBuildTime>org.apache.cxf.bus.managers.DestinationFactoryManagerImpl</additionalInitializeAtBuildTime>
diff --git a/atomos.examples/atomos.examples.jaxrs/reflectAgentConfig.json b/atomos.examples/atomos.examples.jaxrs/reflectAgentConfig.json
index 0dee691..cfff557 100644
--- a/atomos.examples/atomos.examples.jaxrs/reflectAgentConfig.json
+++ b/atomos.examples/atomos.examples.jaxrs/reflectAgentConfig.json
@@ -359,16 +359,6 @@
"allPublicConstructors":true
},
{
- "name":"org.apache.felix.atomos.impl.base.AtomosCommands"
-},
-{
- "name":"org.apache.felix.atomos.impl.modules.AtomosModules",
- "methods":[{"name":"<init>","parameterTypes":["java.util.Map"] }]
-},
-{
- "name":"org.apache.felix.atomos.Atomos"
-},
-{
"name":"org.apache.felix.gogo.command.Activator",
"methods":[{"name":"<init>","parameterTypes":[] }]
},
diff --git a/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_atomos.json b/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_atomos.json
index efd1cd1..0cae83e 100644
--- a/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_atomos.json
+++ b/atomos.examples/atomos.examples.jaxrs/reflectConfig_felix_atomos.json
@@ -1,5 +1,12 @@
[
{
+ "name":"org.apache.felix.atomos.impl.modules.AtomosModules",
+ "methods":[{"name":"<init>","parameterTypes":["java.util.Map","org.apache.felix.atomos.Atomos$HeaderProvider"] }]
+ },
+ {
+ "name":"org.apache.felix.atomos.Atomos"
+ },
+ {
"name" : "org.apache.felix.atomos.impl.base.AtomosCommands",
"allPublicMethods" : true,
"allDeclaredMethods" : true,
diff --git a/atomos.examples/atomos.examples.substrate.maven/reflectConfig_felix_atomos.json b/atomos.examples/atomos.examples.substrate.maven/reflectConfig_felix_atomos.json
index efd1cd1..0cae83e 100644
--- a/atomos.examples/atomos.examples.substrate.maven/reflectConfig_felix_atomos.json
+++ b/atomos.examples/atomos.examples.substrate.maven/reflectConfig_felix_atomos.json
@@ -1,5 +1,12 @@
[
{
+ "name":"org.apache.felix.atomos.impl.modules.AtomosModules",
+ "methods":[{"name":"<init>","parameterTypes":["java.util.Map","org.apache.felix.atomos.Atomos$HeaderProvider"] }]
+ },
+ {
+ "name":"org.apache.felix.atomos.Atomos"
+ },
+ {
"name" : "org.apache.felix.atomos.impl.base.AtomosCommands",
"allPublicMethods" : true,
"allDeclaredMethods" : true,
diff --git a/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/plugins/finaliser/ni/NativeImagePlugin.java b/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/plugins/finaliser/ni/NativeImagePlugin.java
index 0a48948..4d89970 100644
--- a/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/plugins/finaliser/ni/NativeImagePlugin.java
+++ b/atomos.utils/atomos.utils.core/src/main/java/org/apache/felix/atomos/utils/core/plugins/finaliser/ni/NativeImagePlugin.java
@@ -115,7 +115,7 @@
config.nativeImageExecutable());
//execute build an native image
- nOptional.ifPresent(cli -> {
+ nOptional.ifPresentOrElse(cli -> {
try
{
Path binFile = cli.execute(binDir, arguments);
@@ -125,12 +125,17 @@
{
throw new RuntimeException(e);
}
- });
+ }, () -> {throw new RuntimeException("Missing native image executable. Set 'GRAALVM_HOME' with the path as an environment variable");});
}
catch (Exception e)
{
- e.printStackTrace();
+ if (e instanceof RuntimeException) {
+ throw (RuntimeException) e;
+ }
+ else {
+ throw new RuntimeException(e);
+ }
}
}
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 f463077..7bbcda2 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
@@ -30,7 +30,7 @@
public class NativeImageCliUtil
{
- private static final String GRAAL_HOME = "GRAAL_HOME";
+ public static final String GRAALVM_HOME = "GRAALVM_HOME";
private static final String JAVA_HOME = "java.home";
@@ -48,7 +48,7 @@
if (exec.isEmpty())
{
- throw new Exception("Missing native image executable. Set '" + GRAAL_HOME
+ throw new Exception("Missing native image executable. Set '" + GRAALVM_HOME
+ "' with the path as an environment variable");
}
@@ -96,9 +96,9 @@
{
return oExec;
}
- if (System.getenv(GRAAL_HOME) != null)
+ if (System.getenv(GRAALVM_HOME) != null)
{
- oExec = findNativeImageExecutable(Paths.get(System.getenv(GRAAL_HOME)));
+ oExec = findNativeImageExecutable(Paths.get(System.getenv(GRAALVM_HOME)));
if (oExec.isPresent())
{
return oExec;