23 * questions. |
23 * questions. |
24 */ |
24 */ |
25 |
25 |
26 package jdk.jpackage.internal; |
26 package jdk.jpackage.internal; |
27 |
27 |
28 import jdk.jpackage.internal.BundlerParamInfo; |
28 import jdk.jpackage.internal.resources.WinResources; |
29 import jdk.jpackage.internal.StandardBundlerParam; |
|
30 import jdk.jpackage.internal.Arguments; |
|
31 import jdk.jpackage.internal.RelativeFileSet; |
|
32 import jdk.jpackage.internal.BundleParams; |
|
33 |
29 |
34 import java.util.Map; |
30 import java.util.Map; |
35 import java.util.ResourceBundle; |
31 import java.util.ResourceBundle; |
36 import java.util.function.BiFunction; |
32 import java.util.function.BiFunction; |
37 import java.util.function.Function; |
33 import java.util.function.Function; |
38 |
34 |
39 public class WindowsBundlerParam<T> extends StandardBundlerParam<T> { |
35 class WindowsBundlerParam<T> extends StandardBundlerParam<T> { |
40 |
36 |
41 private static final ResourceBundle I18N = ResourceBundle.getBundle( |
37 private static final ResourceBundle I18N = ResourceBundle.getBundle( |
42 "jdk.jpackage.internal.resources.WinResources"); |
38 "jdk.jpackage.internal.resources.WinResources"); |
43 |
39 |
44 public WindowsBundlerParam(String name, String description, String id, |
40 WindowsBundlerParam(String name, String description, String id, |
45 Class<T> valueType, |
41 Class<T> valueType, |
46 Function<Map<String, ? super Object>, T> defaultValueFunction, |
42 Function<Map<String, ? super Object>, T> defaultValueFunction, |
47 BiFunction<String, |
43 BiFunction<String, |
48 Map<String, ? super Object>, T> stringConverter) { |
44 Map<String, ? super Object>, T> stringConverter) { |
49 super(name, description, id, valueType, |
45 super(name, description, id, valueType, |
50 defaultValueFunction, stringConverter); |
46 defaultValueFunction, stringConverter); |
51 } |
47 } |
52 |
48 |
53 public static final BundlerParamInfo<String> INSTALLER_FILE_NAME = |
49 static final BundlerParamInfo<String> INSTALLER_FILE_NAME = |
54 new StandardBundlerParam<> ( |
50 new StandardBundlerParam<> ( |
55 I18N.getString("param.installer-name.name"), |
51 I18N.getString("param.installer-name.name"), |
56 I18N.getString("param.installer-name.description"), |
52 I18N.getString("param.installer-name.description"), |
57 "win.installerName", |
53 "win.installerName", |
58 String.class, |
54 String.class, |
67 return nm + "-" + version; |
63 return nm + "-" + version; |
68 } |
64 } |
69 }, |
65 }, |
70 (s, p) -> s); |
66 (s, p) -> s); |
71 |
67 |
72 public static final BundlerParamInfo<String> APP_REGISTRY_NAME = |
68 static final BundlerParamInfo<String> APP_REGISTRY_NAME = |
73 new StandardBundlerParam<> ( |
69 new StandardBundlerParam<> ( |
74 I18N.getString("param.registry-name.name"), |
70 I18N.getString("param.registry-name.name"), |
75 I18N.getString("param.registry-name.description"), |
71 I18N.getString("param.registry-name.description"), |
76 Arguments.CLIOptions.WIN_REGISTRY_NAME.getId(), |
72 Arguments.CLIOptions.WIN_REGISTRY_NAME.getId(), |
77 String.class, |
73 String.class, |
81 |
77 |
82 return nm.replaceAll("[^-a-zA-Z\\.0-9]", ""); |
78 return nm.replaceAll("[^-a-zA-Z\\.0-9]", ""); |
83 }, |
79 }, |
84 (s, p) -> s); |
80 (s, p) -> s); |
85 |
81 |
86 public static final StandardBundlerParam<String> MENU_GROUP = |
82 static final StandardBundlerParam<String> MENU_GROUP = |
87 new StandardBundlerParam<>( |
83 new StandardBundlerParam<>( |
88 I18N.getString("param.menu-group.name"), |
84 I18N.getString("param.menu-group.name"), |
89 I18N.getString("param.menu-group.description"), |
85 I18N.getString("param.menu-group.description"), |
90 Arguments.CLIOptions.WIN_MENU_GROUP.getId(), |
86 Arguments.CLIOptions.WIN_MENU_GROUP.getId(), |
91 String.class, |
87 String.class, |
95 ? CATEGORY.fetchFrom(params) |
91 ? CATEGORY.fetchFrom(params) |
96 : I18N.getString("param.menu-group.default"), |
92 : I18N.getString("param.menu-group.default"), |
97 (s, p) -> s |
93 (s, p) -> s |
98 ); |
94 ); |
99 |
95 |
100 public static final StandardBundlerParam<Boolean> BIT_ARCH_64 = |
96 static final StandardBundlerParam<Boolean> BIT_ARCH_64 = |
101 new StandardBundlerParam<>( |
97 new StandardBundlerParam<>( |
102 I18N.getString("param.64-bit.name"), |
98 I18N.getString("param.64-bit.name"), |
103 I18N.getString("param.64-bit.description"), |
99 I18N.getString("param.64-bit.description"), |
104 "win.64Bit", |
100 "win.64Bit", |
105 Boolean.class, |
101 Boolean.class, |
106 params -> System.getProperty("os.arch").contains("64"), |
102 params -> System.getProperty("os.arch").contains("64"), |
107 (s, p) -> Boolean.valueOf(s) |
103 (s, p) -> Boolean.valueOf(s) |
108 ); |
104 ); |
109 |
105 |
110 public static final StandardBundlerParam<Boolean> BIT_ARCH_64_RUNTIME = |
106 static final StandardBundlerParam<Boolean> BIT_ARCH_64_RUNTIME = |
111 new StandardBundlerParam<>( |
107 new StandardBundlerParam<>( |
112 I18N.getString("param.runtime-64-bit.name"), |
108 I18N.getString("param.runtime-64-bit.name"), |
113 I18N.getString("param.runtime-64-bit.description"), |
109 I18N.getString("param.runtime-64-bit.description"), |
114 "win.64BitJreRuntime", |
110 "win.64BitJreRuntime", |
115 Boolean.class, |
111 Boolean.class, |
118 return "64".equals(params.get(".runtime.bit-arch")); |
114 return "64".equals(params.get(".runtime.bit-arch")); |
119 }, |
115 }, |
120 (s, p) -> Boolean.valueOf(s) |
116 (s, p) -> Boolean.valueOf(s) |
121 ); |
117 ); |
122 |
118 |
123 public static final BundlerParamInfo<Boolean> INSTALLDIR_CHOOSER = |
119 static final BundlerParamInfo<Boolean> INSTALLDIR_CHOOSER = |
124 new StandardBundlerParam<> ( |
120 new StandardBundlerParam<> ( |
125 I18N.getString("param.installdir-chooser.name"), |
121 I18N.getString("param.installdir-chooser.name"), |
126 I18N.getString("param.installdir-chooser.description"), |
122 I18N.getString("param.installdir-chooser.description"), |
127 Arguments.CLIOptions.WIN_DIR_CHOOSER.getId(), |
123 Arguments.CLIOptions.WIN_DIR_CHOOSER.getId(), |
128 Boolean.class, |
124 Boolean.class, |