< prev index next >
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WindowsBundlerParam.java
Print this page
*** 23,32 ****
--- 23,33 ----
* questions.
*/
package jdk.jpackage.internal;
+ import java.text.MessageFormat;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.function.BiFunction;
import java.util.function.Function;
*** 84,89 ****
--- 85,116 ----
Arguments.CLIOptions.WIN_DIR_CHOOSER.getId(),
Boolean.class,
params -> Boolean.FALSE,
(s, p) -> Boolean.valueOf(s)
);
+
+ static final BundlerParamInfo<String> WINDOWS_INSTALL_DIR =
+ new StandardBundlerParam<>(
+ "windows-install-dir",
+ String.class,
+ params -> {
+ String dir = INSTALL_DIR.fetchFrom(params);
+ if (dir != null) {
+ if (dir.contains(":") || dir.contains("..")) {
+ Log.error(MessageFormat.format(I18N.getString(
+ "message.invalid.install.dir"), dir,
+ APP_NAME.fetchFrom(params)));
+ } else {
+ if (dir.startsWith("\\")) {
+ dir = dir.substring(1);
+ }
+ if (dir.endsWith("\\")) {
+ dir = dir.substring(0, dir.length() - 1);
+ }
+ return dir;
+ }
+ }
+ return APP_NAME.fetchFrom(params); // Default to app name
+ },
+ (s, p) -> s
+ );
}
< prev index next >