167 boolean isExtra() { return true; } |
167 boolean isExtra() { return true; } |
168 }, |
168 }, |
169 new Option(true, OptionType.CREATE_UPDATE, "--warn-if-resolved") { |
169 new Option(true, OptionType.CREATE_UPDATE, "--warn-if-resolved") { |
170 void process(Main jartool, String opt, String arg) throws BadArgs { |
170 void process(Main jartool, String opt, String arg) throws BadArgs { |
171 ModuleResolution mres = ModuleResolution.empty(); |
171 ModuleResolution mres = ModuleResolution.empty(); |
172 if (jartool.moduleResolution.doNotResolveByDefault()) |
172 if (jartool.moduleResolution.doNotResolveByDefault()) { |
173 mres.withDoNotResolveByDefault(); |
173 mres.withDoNotResolveByDefault(); |
174 |
174 } |
175 if (arg.equals("deprecated")) { |
175 if (arg.equals("deprecated")) { |
176 jartool.moduleResolution = mres.withDeprecated(); |
176 jartool.moduleResolution = mres.withDeprecated(); |
177 } else if (arg.equals("deprecated-for-removal")) { |
177 } else if (arg.equals("deprecated-for-removal")) { |
178 jartool.moduleResolution = mres.withDeprecatedForRemoval(); |
178 jartool.moduleResolution = mres.withDeprecatedForRemoval(); |
179 } else if (arg.equals("incubating")) { |
179 } else if (arg.equals("incubating")) { |
199 }, |
199 }, |
200 |
200 |
201 // Other options |
201 // Other options |
202 new Option(true, true, OptionType.OTHER, "--help", "-h") { |
202 new Option(true, true, OptionType.OTHER, "--help", "-h") { |
203 void process(Main jartool, String opt, String arg) throws BadArgs { |
203 void process(Main jartool, String opt, String arg) throws BadArgs { |
204 if (arg == null) { |
204 if (jartool.info == null) { |
205 jartool.info = Main.Info.HELP; |
205 if (arg == null) { |
206 return; |
206 jartool.info = GNUStyleOptions::printHelp; // Main.Info.HELP; |
207 } |
207 return; |
208 |
208 } |
209 if (!arg.equals("compat")) |
209 if (!arg.equals("compat")) |
210 throw new BadArgs("error.illegal.option", arg).showUsage(true); |
210 throw new BadArgs("error.illegal.option", arg).showUsage(true); |
211 |
211 // jartool.info = Main.Info.COMPAT_HELP; |
212 jartool.info = Main.Info.COMPAT_HELP; |
212 jartool.info = GNUStyleOptions::printCompatHelp; |
|
213 } |
213 } |
214 } |
214 }, |
215 }, |
215 new Option(false, OptionType.OTHER, "--help-extra") { |
216 new Option(false, OptionType.OTHER, "--help-extra") { |
216 void process(Main jartool, String opt, String arg) throws BadArgs { |
217 void process(Main jartool, String opt, String arg) throws BadArgs { |
217 jartool.info = Main.Info.HELP_EXTRA; |
218 jartool.info = GNUStyleOptions::printHelpExtra; |
218 } |
219 } |
219 }, |
220 }, |
220 new Option(false, OptionType.OTHER, "--version") { |
221 new Option(false, OptionType.OTHER, "--version") { |
221 void process(Main jartool, String opt, String arg) { |
222 void process(Main jartool, String opt, String arg) { |
222 if (jartool.info == null) |
223 if (jartool.info == null) |
223 jartool.info = Main.Info.VERSION; |
224 jartool.info = GNUStyleOptions::printVersion; |
224 } |
225 } |
225 } |
226 } |
226 }; |
227 }; |
227 |
228 |
228 enum OptionType { |
229 enum OptionType { |
277 } |
278 } |
278 |
279 |
279 static int parseOptions(Main jartool, String[] args) throws BadArgs { |
280 static int parseOptions(Main jartool, String[] args) throws BadArgs { |
280 int count = 0; |
281 int count = 0; |
281 if (args.length == 0) { |
282 if (args.length == 0) { |
282 jartool.info = Main.Info.USAGE_TRYHELP; |
283 jartool.info = GNUStyleOptions::printUsageTryHelp; // never be here |
283 return 0; |
284 return 0; |
284 } |
285 } |
285 |
286 |
286 // process options |
287 // process options |
287 for (; count < args.length; count++) { |
288 for (; count < args.length; count++) { |
288 if (args[count].charAt(0) != '-' || args[count].equals("-C") |
289 if (args[count].charAt(0) != '-' || args[count].equals("-C") || |
289 || args[count].equals("--release")) |
290 args[count].equals("--release")) |
290 break; |
291 break; |
291 |
292 |
292 String name = args[count]; |
293 String name = args[count]; |
293 Option option = getOption(name); |
294 Option option = getOption(name); |
294 String param = null; |
295 String param = null; |
320 } |
321 } |
321 } |
322 } |
322 throw new BadArgs("error.unrecognized.option", name).showUsage(true); |
323 throw new BadArgs("error.unrecognized.option", name).showUsage(true); |
323 } |
324 } |
324 |
325 |
|
326 static void printHelpExtra(PrintWriter out) { |
|
327 printHelp0(out, true); |
|
328 } |
|
329 |
325 static void printHelp(PrintWriter out) { |
330 static void printHelp(PrintWriter out) { |
326 printHelp(out, false); |
331 printHelp0(out, false); |
327 } |
332 } |
328 |
333 |
329 static void printHelpExtra(PrintWriter out) { |
334 private static void printHelp0(PrintWriter out, boolean printExtra) { |
330 printHelp(out, true); |
|
331 } |
|
332 |
|
333 private static void printHelp(PrintWriter out, boolean printExtra) { |
|
334 out.format("%s%n", Main.getMsg("main.help.preopt")); |
335 out.format("%s%n", Main.getMsg("main.help.preopt")); |
335 for (OptionType type : OptionType.values()) { |
336 for (OptionType type : OptionType.values()) { |
336 boolean typeHeadingWritten = false; |
337 boolean typeHeadingWritten = false; |
337 |
338 |
338 for (Option o : recognizedOptions) { |
339 for (Option o : recognizedOptions) { |