jdk/src/jdk.jartool/share/classes/sun/tools/jar/GNUStyleOptions.java
changeset 43095 336dfda4ae89
parent 42703 20c39ea4a507
child 43109 fe275140c3f1
equal deleted inserted replaced
43094:c39e882a5149 43095:336dfda4ae89
   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) {