| |
@@ -1,96 +0,0 @@
|
| |
- commit 77218790904f40395304669f5d79740f459c0a90 (HEAD -> cli-253, origin/cli-253)
|
| |
- Author: Michal Srb <msrb@redhat.com>
|
| |
- AuthorDate: Mon Jun 22 15:01:30 2015 +0200
|
| |
- Commit: Michal Srb <msrb@redhat.com>
|
| |
- CommitDate: Mon Jun 22 15:04:05 2015 +0200
|
| |
-
|
| |
- [CLI-253] Prevent "Unrecognized option: --null" when handling long opts in PosixParser
|
| |
-
|
| |
- diff --git a/src/main/java/org/apache/commons/cli/Options.java b/src/main/java/org/apache/commons/cli/Options.java
|
| |
- index 0ee4eea..1c38194 100644
|
| |
- --- a/src/main/java/org/apache/commons/cli/Options.java
|
| |
- +++ b/src/main/java/org/apache/commons/cli/Options.java
|
| |
- @@ -224,6 +224,20 @@ public class Options implements Serializable
|
| |
- }
|
| |
-
|
| |
- /**
|
| |
- + * Retrieve the {@link Option} matching the long name specified.
|
| |
- + * The leading hyphens in the name are ignored (up to 2).
|
| |
- + *
|
| |
- + * @param opt long name of the {@link Option}
|
| |
- + * @return the option represented by opt
|
| |
- + */
|
| |
- + Option getLongOption(String opt)
|
| |
- + {
|
| |
- + opt = Util.stripLeadingHyphens(opt);
|
| |
- +
|
| |
- + return longOpts.get(opt);
|
| |
- + }
|
| |
- +
|
| |
- + /**
|
| |
- * Returns the options with a long name starting with the name specified.
|
| |
- *
|
| |
- * @param opt the partial name of the option
|
| |
- diff --git a/src/main/java/org/apache/commons/cli/PosixParser.java b/src/main/java/org/apache/commons/cli/PosixParser.java
|
| |
- index c13a65e..14d2936 100644
|
| |
- --- a/src/main/java/org/apache/commons/cli/PosixParser.java
|
| |
- +++ b/src/main/java/org/apache/commons/cli/PosixParser.java
|
| |
- @@ -131,7 +131,7 @@ public class PosixParser extends Parser
|
| |
- }
|
| |
- else
|
| |
- {
|
| |
- - currentOption = options.getOption(matchingOpts.get(0));
|
| |
- + currentOption = options.getLongOption(matchingOpts.get(0));
|
| |
-
|
| |
- tokens.add("--" + currentOption.getLongOpt());
|
| |
- if (pos != -1)
|
| |
- diff --git a/src/test/java/org/apache/commons/cli/bug/BugCLI253Test.java b/src/test/java/org/apache/commons/cli/bug/BugCLI253Test.java
|
| |
- new file mode 100644
|
| |
- index 0000000..e37b7bc
|
| |
- --- /dev/null
|
| |
- +++ b/src/test/java/org/apache/commons/cli/bug/BugCLI253Test.java
|
| |
- @@ -0,0 +1,44 @@
|
| |
- +/*
|
| |
- + * Licensed to the Apache Software Foundation (ASF) under one or more
|
| |
- + * contributor license agreements. See the NOTICE file distributed with
|
| |
- + * this work for additional information regarding copyright ownership.
|
| |
- + * The ASF licenses this file to You under the Apache License, Version 2.0
|
| |
- + * (the "License"); you may not use this file except in compliance with
|
| |
- + * the License. You may obtain a copy of the License at
|
| |
- + *
|
| |
- + * http://www.apache.org/licenses/LICENSE-2.0
|
| |
- + *
|
| |
- + * Unless required by applicable law or agreed to in writing, software
|
| |
- + * distributed under the License is distributed on an "AS IS" BASIS,
|
| |
- + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| |
- + * See the License for the specific language governing permissions and
|
| |
- + * limitations under the License.
|
| |
- + */
|
| |
- +
|
| |
- +package org.apache.commons.cli.bug;
|
| |
- +
|
| |
- +import static org.junit.Assert.assertTrue;
|
| |
- +
|
| |
- +import org.apache.commons.cli.CommandLine;
|
| |
- +import org.apache.commons.cli.Option;
|
| |
- +import org.apache.commons.cli.Options;
|
| |
- +import org.apache.commons.cli.ParseException;
|
| |
- +import org.apache.commons.cli.PosixParser;
|
| |
- +import org.junit.Test;
|
| |
- +
|
| |
- +@SuppressWarnings("deprecation") // tests some deprecated classes
|
| |
- +public class BugCLI253Test {
|
| |
- +
|
| |
- + @Test
|
| |
- + public void testGroovyUseCase() throws ParseException {
|
| |
- + CommandLine cli = new PosixParser().parse(getOptions(), new String[] { "--classpath" });
|
| |
- + assertTrue(cli.hasOption("--classpath"));
|
| |
- + }
|
| |
- +
|
| |
- + private Options getOptions() {
|
| |
- + Options options = new Options();
|
| |
- + options.addOption(Option.builder("classpath").build());
|
| |
- + options.addOption(Option.builder("cp").longOpt("classpath").build());
|
| |
- + return options;
|
| |
- + }
|
| |
- +}
|
| |
Update to upstream version 1.5.0