Skip to content

Commit

Permalink
Ensure native-image driver understands --add-modules
Browse files Browse the repository at this point in the history
  • Loading branch information
olpaw committed Oct 15, 2021
1 parent 6e5cb0b commit 4eb1e26
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
JavaArgs = --add-modules=java.scripting

Args = --features=com.oracle.svm.thirdparty.jline.JLine3Feature \
--add-modules=java.scripting \
--add-reads=org.graalvm.launcher=org.graalvm.nativeimage.pointsto \
--add-reads=org.graalvm.launcher=org.graalvm.nativeimage.builder \
--add-exports=org.graalvm.truffle/com.oracle.truffle.object=ALL-UNNAMED \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import java.util.List;
import java.util.regex.Pattern;

import jdk.vm.ci.runtime.JVMCI;
import org.graalvm.compiler.options.OptionType;

import com.oracle.svm.driver.MacroOption.MacroOptionKind;
Expand All @@ -44,13 +43,16 @@
import jdk.vm.ci.aarch64.AArch64;
import jdk.vm.ci.amd64.AMD64;
import jdk.vm.ci.code.Architecture;
import jdk.vm.ci.runtime.JVMCI;

class DefaultOptionHandler extends NativeImage.OptionHandler<NativeImage> {

private static final String verboseOption = "--verbose";
private static final String requireValidJarFileMessage = "-jar requires a valid jarfile";
private static final String newStyleClasspathOptionName = "--class-path";

private static final String addModulesOption = "--add-modules";

static final String helpText = NativeImage.getResource("/Help.txt");
static final String helpExtraText = NativeImage.getResource("/HelpExtra.txt");

Expand Down Expand Up @@ -145,6 +147,14 @@ public boolean consume(ArgumentQueue args) {
nativeImage.addPlainImageBuilderArg(nativeImage.oHModule + mainClassModuleArgParts[0]);
nativeImage.setModuleOptionMode(true);
return true;
case addModulesOption:
args.poll();
String addModulesArgs = args.poll();
if (addModulesArgs == null) {
NativeImage.showError(headArg + " requires module path specification");
}
nativeImage.addImageBuilderJavaArgs(addModulesOption, addModulesArgs);
return true;
case "--configurations-path":
args.poll();
String configPath = args.poll();
Expand Down Expand Up @@ -314,6 +324,15 @@ public boolean consume(ArgumentQueue args) {
}
return true;
}
if (headArg.startsWith(addModulesOption + "=")) {
args.poll();
String addModulesArgs = headArg.substring(addModulesOption.length() + 1);
if (addModulesArgs.isEmpty()) {
NativeImage.showError(headArg + " requires modules to be specified");
}
nativeImage.addImageBuilderJavaArgs(addModulesOption, addModulesArgs);
return true;
}
if (headArg.startsWith("@") && !disableAtFiles) {
args.poll();
headArg = headArg.substring(1);
Expand Down

0 comments on commit 4eb1e26

Please sign in to comment.