Skip to content
This repository was archived by the owner on Aug 31, 2022. It is now read-only.

Commit 27303c0

Browse files
authored
Merge pull request #199 from asaenf/asaenf-patch-1
Use absolute classpath as input
2 parents 09fe382 + 24b7b64 commit 27303c0

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

flo-runner/src/main/java/com/spotify/flo/context/ForkingExecutor.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
import com.spotify.flo.Fn;
2424
import com.spotify.flo.Serialization;
2525
import com.spotify.flo.SerializationException;
26-
import com.spotify.flo.freezer.PersistingContext;
2726
import java.io.BufferedReader;
2827
import java.io.Closeable;
28+
import java.io.File;
2929
import java.io.IOException;
3030
import java.io.InputStream;
3131
import java.io.InputStreamReader;
@@ -48,6 +48,7 @@
4848
import java.util.Objects;
4949
import java.util.concurrent.ExecutorService;
5050
import java.util.concurrent.Executors;
51+
import java.util.stream.Collectors;
5152
import org.slf4j.Logger;
5253
import org.slf4j.LoggerFactory;
5354

@@ -135,9 +136,14 @@ void start() {
135136
} catch (SerializationException e) {
136137
throw new RuntimeException("Failed to serialize closure", e);
137138
}
138-
139-
final ProcessBuilder processBuilder = new ProcessBuilder(java.toString(), "-cp", classPath)
140-
.directory(workdir.toFile());
139+
140+
final String absoluteClassPath =
141+
Arrays.stream(classPath.split(File.pathSeparator))
142+
.map(cp -> Paths.get(cp).toAbsolutePath().toString())
143+
.collect(Collectors.joining(File.pathSeparator));
144+
145+
final ProcessBuilder processBuilder =
146+
new ProcessBuilder(java.toString(), "-cp", absoluteClassPath).directory(workdir.toFile());
141147

142148
// Propagate -Xmx and -D.
143149
// Note: This is suboptimal because if the user has configured a max heap size we will effectively use that

0 commit comments

Comments
 (0)