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

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0
    • Fix Version/s: 1.1
    • Component/s: CLI-1.x
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: Macintosh

    • Bugzilla Id:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: