Uploaded image for project: 'Commons CLI'
  1. Commons CLI
  2. CLI-26

[cli] Only long options without short option seems to be noticed

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0
    • 1.1
    • CLI-1.x
    • None
    • Operating System: All
      Platform: Macintosh

    • 27635

    Description

      I've got the following code. The only long option that seems to be noticed after parsing (PosixParser) is
      the one (kOptionConfigFile) that does not have a short option. However, long options without short
      options are ignored by help (except the last one. See COM-690).

      Option help = new Option("h", kOptionHelp, false, "print this message");
      Option version = new Option("v", kOptionVersion, false, "print version information");
      Option newRun = new Option("n", kOptionNew, false, "Create NLT cache entries only for new
      items");
      Option trackerRun = new Option("t", kOptionTracker, false, "Create NLT cache entries only
      for tracker items");

      Option timeLimit = OptionBuilder.withLongOpt(kOptionTimeLimit)
      .hasArg()
      .withValueSeparator()
      .withDescription("Set time limit for execution, in
      mintues")
      .create("l");

      Option age = OptionBuilder.withLongOpt(kOptionAge)
      .hasArg()
      .withValueSeparator()
      .withDescription("Age (in days) of cache item
      before being recomputed")
      .create("a");

      Option server = OptionBuilder.withLongOpt(kOptionNLTServer)
      .hasArg()
      .withValueSeparator()
      .withDescription("The NLT server address")
      .create("s");

      Option numResults = OptionBuilder.withLongOpt(kOptionNumResults)
      .hasArg()
      .withValueSeparator()
      .withDescription("Number of results per item")
      .create("r");

      Option configFile = OptionBuilder.withLongOpt(kOptionConfigFile)
      .hasArg()
      .withValueSeparator()
      .withDescription("Use the specified configuration
      file")
      .create();

      mOptions = new Options();
      mOptions.addOption(help);
      mOptions.addOption(version);
      mOptions.addOption(newRun);
      mOptions.addOption(trackerRun);
      mOptions.addOption(timeLimit);
      mOptions.addOption(age);
      mOptions.addOption(server);
      mOptions.addOption(numResults);
      mOptions.addOption(configFile);

      Attachments

        Activity

          People

            Unassigned Unassigned
            rmann@latencyzero.com Rick Mann
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: