< prev index next >
make/src/classes/build/tools/module/ImageBuilder.java
Print this page
rev 13848 : 8151987: jexec should be executable
@@ -45,10 +45,11 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
+import java.util.function.Consumer;
import java.util.stream.Collectors;
import jdk.internal.jimage.ImageFileCreator;
/**
* A tool for building a runtime image.
@@ -81,10 +82,11 @@
boolean showUsage;
}
static class Option {
+ @FunctionalInterface
interface Processing {
void process(ImageBuilder task, String opt, String arg) throws BadArgs;
}
@@ -348,16 +350,19 @@
ImageFileHelper imageHelper = new ImageFileHelper(modules);
imageHelper.createModularImage(options.output);
// jspawnhelper, might be in lib or lib/ARCH
Path jspawnhelper = Paths.get("jspawnhelper");
+ Path jexec = Paths.get("jexec");
Path lib = options.output.resolve("lib");
- Optional<Path> helper = Files.walk(lib, 2)
- .filter(f -> f.getFileName().equals(jspawnhelper))
- .findFirst();
- if (helper.isPresent())
- helper.get().toFile().setExecutable(true, false);
+ Files.walk(lib, 2).filter(f -> f.getFileName().equals(jspawnhelper) ||
+ f.getFileName().equals(jexec))
+ .forEach(new Consumer<Path> () {
+ public void accept(Path p) {
+ p.toFile().setExecutable(true, false);
+ }
+ });
}
private class ImageFileHelper {
final Collection<String> modules;
final Set<String> bootModules;
< prev index next >