Skip to content

Commit 95cf74a

Browse files
Fix command creation for container bundle execution
1 parent b6bf433 commit 95cf74a

File tree

1 file changed

+9
-9
lines changed
  • substratevm/src/com.oracle.svm.driver.launcher/src/com/oracle/svm/driver/launcher

1 file changed

+9
-9
lines changed

substratevm/src/com.oracle.svm.driver.launcher/src/com/oracle/svm/driver/launcher/BundleLauncher.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ public class BundleLauncher {
8686

8787
public static ContainerSupport containerSupport;
8888

89-
public static Map<String, String> launcherEnvironment = new HashMap<>();
89+
private static final List<String> launchArgs = new ArrayList<>();
90+
private static final List<String> applicationArgs = new ArrayList<>();
91+
private static final Map<String, String> launcherEnvironment = new HashMap<>();
9092

9193

9294
public static void main(String[] args) {
@@ -101,6 +103,8 @@ public static void main(String[] args) {
101103
System.exit(1);
102104
}
103105

106+
parseBundleLauncherArgs(args);
107+
104108
ProcessBuilder pb = new ProcessBuilder();
105109

106110
Path environmentFile = stageDir.resolve("environment.json");
@@ -112,7 +116,7 @@ public static void main(String[] args) {
112116
throw new Error("Failed to read bundle-file " + environmentFile, e);
113117
}
114118
}
115-
pb.command(createLaunchCommand(args));
119+
pb.command(createLaunchCommand());
116120

117121
if (verbose) {
118122
List<String> environmentList = pb.environment()
@@ -151,7 +155,7 @@ public static boolean useContainer() {
151155
return containerSupport != null;
152156
}
153157

154-
private static List<String> createLaunchCommand(String[] args) {
158+
private static List<String> createLaunchCommand() {
155159
List<String> command = new ArrayList<>();
156160

157161
Path javaExecutable = getJavaExecutable().toAbsolutePath().normalize();
@@ -162,6 +166,7 @@ private static List<String> createLaunchCommand(String[] args) {
162166
Map<Path, TargetPath> mountMapping = mountMappingFor(javaHome, inputDir, outputDir);
163167
if (Files.isDirectory(agentOutputDir)) {
164168
mountMapping.put(agentOutputDir, TargetPath.of(agentOutputDir, false));
169+
launcherEnvironment.put("LD_LIBRARY_PATH", CONTAINER_GRAAL_VM_HOME.resolve("lib").toString());
165170
}
166171

167172
containerSupport.initializeContainerImage();
@@ -171,8 +176,6 @@ private static List<String> createLaunchCommand(String[] args) {
171176
command.add(javaExecutable.toString());
172177
}
173178

174-
List<String> applicationArgs = new ArrayList<>();
175-
List<String> launchArgs = parseBundleLauncherArgs(args, applicationArgs);
176179
command.addAll(launchArgs);
177180

178181
List<String> classpath = new ArrayList<>();
@@ -249,9 +252,8 @@ private static int updateBundle() {
249252
}
250253
}
251254

252-
private static List<String> parseBundleLauncherArgs(String[] args, List<String> applicationArgs) {
255+
private static void parseBundleLauncherArgs(String[] args) {
253256
Deque<String> argQueue = new ArrayDeque<>(Arrays.asList(args));
254-
List<String> launchArgs = new ArrayList<>();
255257

256258
while (!argQueue.isEmpty()) {
257259
String arg = argQueue.removeFirst();
@@ -316,8 +318,6 @@ private static List<String> parseBundleLauncherArgs(String[] args, List<String>
316318
}
317319
}
318320
}
319-
320-
return launchArgs;
321321
}
322322

323323
private static final Path buildTimeJavaHome = Paths.get(System.getProperty("java.home"));

0 commit comments

Comments
 (0)