in src/main/java/org/apache/maven/plugins/jlink/JLinkMojo.java [580:674]
protected List<String> createJlinkArgs(Collection<String> pathsOfModules, Collection<String> modulesToAdd) {
List<String> jlinkArgs = new ArrayList<>();
if (stripDebug) {
jlinkArgs.add("--strip-debug");
}
if (bindServices) {
jlinkArgs.add("--bind-services");
}
if (endian != null) {
jlinkArgs.add("--endian");
jlinkArgs.add(endian);
}
if (ignoreSigningInformation) {
jlinkArgs.add("--ignore-signing-information");
}
if (compress != null) {
jlinkArgs.add("--compress");
jlinkArgs.add(compress + "");
}
if (launcher != null) {
jlinkArgs.add("--launcher");
jlinkArgs.add(launcher);
}
if (addOptions != null && !addOptions.isEmpty()) {
jlinkArgs.add("--add-options");
jlinkArgs.add(String.format("\"%s\"", String.join(" ", addOptions)));
}
if (disablePlugin != null) {
jlinkArgs.add("--disable-plugin");
jlinkArgs.add(disablePlugin);
}
if (pathsOfModules != null && !pathsOfModules.isEmpty()) {
// @formatter:off
jlinkArgs.add("--module-path");
jlinkArgs.add(getPlatformDependSeparateList(pathsOfModules).replace("\\", "\\\\"));
// @formatter:off
}
if (noHeaderFiles) {
jlinkArgs.add("--no-header-files");
}
if (noManPages) {
jlinkArgs.add("--no-man-pages");
}
if (hasSuggestProviders()) {
jlinkArgs.add("--suggest-providers");
String sb = getCommaSeparatedList(suggestProviders);
jlinkArgs.add(sb);
}
if (hasLimitModules()) {
jlinkArgs.add("--limit-modules");
String sb = getCommaSeparatedList(limitModules);
jlinkArgs.add(sb);
}
if (!modulesToAdd.isEmpty()) {
jlinkArgs.add("--add-modules");
// This must be name of the module and *NOT* the name of the
// file! Can we somehow pre check this information to fail early?
String sb = getCommaSeparatedList(modulesToAdd);
jlinkArgs.add(sb.replace("\\", "\\\\"));
}
if (hasIncludeLocales()) {
jlinkArgs.add("--add-modules");
jlinkArgs.add("jdk.localedata");
jlinkArgs.add("--include-locales");
String sb = getCommaSeparatedList(includeLocales);
jlinkArgs.add(sb);
}
if (pluginModulePath != null) {
jlinkArgs.add("--plugin-module-path");
StringBuilder sb = convertSeparatedModulePathToPlatformSeparatedModulePath(pluginModulePath);
jlinkArgs.add(sb.toString().replace("\\", "\\\\"));
}
if (buildDirectory != null) {
jlinkArgs.add("--output");
jlinkArgs.add(outputDirectoryImage.getAbsolutePath());
}
if (verbose) {
jlinkArgs.add("--verbose");
}
return Collections.unmodifiableList(jlinkArgs);
}