This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-cli.git
The following commit(s) were added to refs/heads/master by this push: new 24e52d2 Bump actions/cache from 3.0.2 to 3.0.3 24e52d2 is described below commit 24e52d2dcd2d2b69026613887906df3b2b662e40 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Tue May 31 16:27:51 2022 -0400 Bump actions/cache from 3.0.2 to 3.0.3 --- .github/workflows/maven.yml | 94 ++--- src/changes/changes.xml | 814 ++++++++++++++++++++++---------------------- 2 files changed, 454 insertions(+), 454 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 2169c2d..24151bd 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,47 +1,47 @@ -# 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. - -name: Java CI - -on: [push, pull_request] - -jobs: - build: - - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.experimental }} - strategy: - matrix: - java: [ 8, 11, 17 ] - experimental: [false] -# include: -# - java: 18-ea -# experimental: true - - steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v3.0.2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - - name: Build with Maven - run: mvn -V --file pom.xml --no-transfer-progress +# 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. + +name: Java CI + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + matrix: + java: [ 8, 11, 17 ] + experimental: [false] +# include: +# - java: 18-ea +# experimental: true + + steps: + - uses: actions/checkout@v3 + - uses: actions/cache@v3.0.3 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: ${{ matrix.java }} + - name: Build with Maven + run: mvn -V --file pom.xml --no-transfer-progress diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 3701ceb..6754bc3 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -1,407 +1,407 @@ -<?xml version="1.0"?> -<!-- - 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. ---> -<document> - <properties> - <title>Apache Commons CLI Release Notes</title> - </properties> - <body> - <release version="1.6" date="tbd" description="New features and bug fixes"> - <!-- FIX --> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 417-423] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 446-450] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 474-478] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION - </action> - <action type="update" dev="ggregory" due-to="Arturo Bernal"> - Use EMPTY_STRING_ARRAY constant. #102. - </action> - <!-- ADD --> - <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> - Add github/codeql-action. - </action> - <!-- UPDATES --> - <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> - Bump actions/cache from 2.1.7 to 3.0.2 #97. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump actions/setup-java from 2 to 3. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> - Bump spotbugs from 4.5.3 to 4.7.0 #96, #107. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump spotbugs-maven-plugin from 4.5.3.0 to 4.6.0.0 #98. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump commons-parent from 52 to 53 #100. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump maven-antrun-plugin from 3.0.0 to 3.1.0 #103. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump maven-javadoc-plugin from 3.3.2 to 3.4.0 #105. - </action> - </release> - <release version="1.5.0" date="10-23-2021" description="New features and bug fixes (Java 7)."> - <!-- FIX --> - <action type="fix" dev="ggregory" due-to="Gary Gregory"> - Fix NPE in DefaultParser.isLongOption(String). - </action> - <action type="fix" dev="britter" due-to="Krishna Mohan Rao Kandunoori" issue="CLI-279"> - @param or @return lines should end with a period in CommandLine.java - </action> - <action type="fix" dev="ggregory" due-to="Gary Gregory"> - Replace deprecated FindBugs with SpotBugs. - </action> - <action type="fix" dev="ggregory" due-to="Gary Gregory"> - Replace CLIRR with JApiCmp. - </action> - <action type="fix" dev="ggregory" due-to="Elliotte Rusty Harold"> - Option Javadocs grammar nits #55. - </action> - <action type="fix" dev="ggregory" due-to="Arturo Bernal, Gary Gregory"> - Minor Improvements #57, #61. - </action> - <action type="fix" dev="ggregory" due-to="stoty" issue="CLI-254"> - Input "test" gets parsed as test, quotes die #58. - </action> - <action type="fix" dev="ggregory" due-to="MrQubo, Gary Gregory" issue="CLI-287"> - Allow whitespace-only header and footer #26. - </action> - <!-- ADD --> - <action type="add" dev="chtompki" due-to="Rubin Simons" issue="CLI-217"> - Accommodate toggling partial matching in DefaultParser. - </action> - <action type="add" dev="britter" due-to="Béla Schaum" issue="CLI-274"> - Option parser type EXISTING_FILE_VALUE not check file existing - </action> - <action type="add" dev="britter" due-to="Christoph Läubrich" issue="CLI-271"> - CommandLine.getXXX and CommandLine.hasXXX should accept an Option as a parameter - </action> - <action type="add" dev="ggregory" due-to="Jason Dillon" issue="CLI-276"> - Adjust access-modifier of checkRequiredOptions() to protected. - </action> - <action type="add" dev="ggregory" due-to="Alex Nordlund" issue="CLI-282"> - TypeHandler should throw ParseException for an unsupported class. - </action> - <action type="add" dev="ggregory" due-to="Waldemar Sojka, Gary Gregory"> - Added setter for Builder.option #33. - </action> - <action type="add" dev="ggregory" due-to="Waldemar Sojka, Gary Gregory"> - Add Option unit tests #76. - </action> - <!-- UPDATE --> - <action type="update" dev="ggregory" issue="CLI-294"> - Update Java from version 5 to 7. - </action> - <action type="update" dev="ggregory" due-to="Mincong Huang"> - Docs: Replace OptionBuilder in usage page #30. - </action> - <action type="update" dev="ggregory" due-to="dengliming"> - Remove deprecated sudo setting. #36. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> - Bump junit:junit from 4.12 to 4.13.2, #53, #60. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump commons-parent from 48 to 52. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump maven-pmd-plugin from 3.12.0 to 3.16.0, #44, #54, #67, #92. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump actions/checkout from 2.3.1 to 3 #46, #72, #78, #93. - </action> - <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> - Bump actions/setup-java from v1.4.2 to v2 #50. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump maven-antrun-plugin from 1.7 to 3.0.0 #43. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump maven-checkstyle-plugin from 2.15 to 3.1.2 #41. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump checkstyle to 9.3 #68, #86, #90. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump actions/cache from 2 to 2.1.7 #64, #65, #81. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump commons.animal-sniffer.version 1.19 -> 1.20. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump maven-bundle-plugin 5.1.1 -> 5.1.2. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump biz.aQute.bndlib.version 5.1.2 -> 6.0.0. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump spotbugs from 4.4.1 to 4.5.3 #70, #88. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump spotbugs-maven-plugin from 4.4.1 to 4.5.3.0 #71, #85, #87. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump maven-javadoc-plugin from 3.3.1 to 3.3.2, #91. - </action> - </release> - - <release version="1.4" date="2017-03-09" description="New features and bug fixes"> - <action type="add" dev="rfscholte" issue="CLI-269"> - Introduce CommandLine.Builder - </action> - <action type="fix" dev="britter" issue="CLI-265" due-to="Martin Sandiford"> - Optional argument picking up next regular option as its argument - </action> - <action type="add" dev="britter" issue="CLI-267" due-to="Ricardo Ribeiro"> - Add an addRequiredOption method to Options - </action> - <action type="fix" dev="britter" issue="CLI-266" due-to="Ravi Teja"> - HelpFormatter.setOptionComparator(null) doesn't display the values in inserted order - </action> - </release> - - <release version="1.3.1" date="2015-06-17" description="Bug fix release for 1.3"> - <action type="fix" dev="britter" issue="CLI-252" due-to="Simon Harrer"> - LongOpt falsely detected as ambiguous - </action> - </release> - - <release version="1.3" date="2015-05-09" description="This is a feature and maintenance bug fix release."> - <action type="fix" dev="djones" issue="CLI-248"> - Fixed broken Javadoc links on Introduction page. - </action> - <action type="fix" dev="tn" issue="CLI-234" due-to="Greg Thomas"> - Fixed code example in javadoc of "Option#Builder#valueSeparator(char)". - </action> - <action type="fix" dev="tn" issue="CLI-241" due-to="Beluga Behr"> - Clarified behavior of "OptionValidator#validateOption(String)" in case of null input. - </action> - <action type="update" dev="tn" issue="CLI-240" due-to="Beluga Behr"> - Small cleanup of Option class. - </action> - <action type="update" dev="tn" issue="CLI-231" due-to="Duncan Jones"> - Removed DoubleCheckedLocking test from checkstyle configuration. - </action> - <action type="update" dev="tn" issue="CLI-230"> - Options.getRequiredOptions() now returns an unmodifiable list. - </action> - <action type="add" dev="tn" issue="CLI-224" due-to="Duncan Jones, Brian Blount"> - Added new fluent API to create Option instances via builder class Option.Builder. - This replaces the now deprecated OptionBuilder. - </action> - <action type="update" dev="tn" issue="CLI-218" due-to="Sven"> - Clarify javadoc for CommandLine.getOptionValue() that the first specified - argument will be returned. - </action> - <action type="add" dev="tn" issue="CLI-214" due-to="Alexandru Mocanu"> - Added new method Options.addOption(String, String). - </action> - <action type="update" dev="tn" issue="CLI-227" due-to="Duncan Jones"> - Changed unit tests to junit 4 annotation style. - </action> - <action type="fix" dev="ebourg" issue="CLI-202"> - Default options will now work correctly with required options that are missing. - </action> - <action type="fix" dev="ebourg" issue="CLI-203"> - Default options will now work correctly together with option groups. - </action> - <action type="update" dev="ebourg" issue="CLI-209" due-to="Thomas Herre"> - The javadoc of OptionBuilder now states that the class is not thread-safe. - </action> - <action type="add" dev="ebourg" issue="CLI-169" due-to="J. Lewis Muir"> - HelpFormatter now supports setting the displayed separator of long options. - </action> - <action type="update" dev="ebourg" issue="CLI-197" due-to="Anders Larsson"> - Improve description of parameter "stopAtNonOption" in method - CommandLine.parse(Options, String[], boolean). - </action> - <action type="fix" dev="ebourg" issue="CLI-204"> - Passing default values for not defined options to a parser will now trigger - a ParseException instead of a NullPointerException. - </action> - <action type="fix" dev="ebourg" issue="CLI-205"> - HelpFormatter.setArgName(String) now correctly sets the argument name. - </action> - <action type="fix" dev="ebourg" issue="CLI-201"> - Default properties provided as input to the Parser.parse() methods are now - correctly processed. - </action> - <action type="fix" dev="ebourg" issue="CLI-215" due-to="Manuel Müller"> - CommandLine.getParsedOptionValue() now returns a String object if no - option type has been explicitly set. - </action> - <action type="update" dev="ggregory" issue="CLI-200" due-to="Gerard Weatherby"> - Fixed typo in javadoc of class CommandLine. - </action> - <action type="update" dev="ebourg" issue="CLI-223" due-to="Gerard Weatherby"> - Source code now uses generic types instead of raw types where possible. - </action> - <action type="update" dev="ebourg" issue="CLI-220" due-to="Joe Casadonte"> - Corrected javadoc for return type of MissingOptionException.getMissingOptions(). - </action> - <action type="fix" dev="ebourg" issue="CLI-212" due-to="Per Cederberg"> - HelpFormatter now prints command-line options in the same order as they - have been added. - </action> - <action type="fix" dev="ebourg" issue="CLI-186" due-to="Kristoff Kiefer"> - Standard help text now shows mandatory arguments also for the first option. - </action> - <action type="fix" dev="ebourg" issue="CLI-207" due-to="Uri Moszkowicz"> - HelpFormatter does not strip anymore leading whitespace in the footer text. - </action> - <action type="fix" dev="ebourg" issue="CLI-185" due-to="Einar M R Rosenvinge"> - Strip quotes contained in argument values only if there is exactly one at the - beginning and one at the end. - </action> - <action type="fix" dev="ebourg" issue="CLI-184"> - Negative numerical arguments take precedence over numerical options (only supported - by the new DefaultParser). - </action> - <action type="fix" dev="ebourg" issue="CLI-193" due-to="Travis McLeskey"> - Fix possible StringIndexOutOfBoundsException in HelpFormatter. - </action> - <action type="add" dev="ebourg" issue="CLI-161,CLI-167,CLI-181"> - A new parser is available: DefaultParser. It combines the features of the GnuParser and the PosixParser. - It also provides additional features like partial matching for the long options, and long options without - separator (i.e like the JVM memory settings: -Xmx512m). This new parser deprecates the previous ones. - </action> - <action type="fix" dev="ebourg" issue="CLI-183"> - OptionGroups no longer throw an AlreadySelectedException when reused for several parsings. - </action> - <action type="fix" dev="ebourg" issue="CLI-182"> - OptionGroup now selects properly an option with no short name. - </action> - <action type="add" dev="ebourg" issue="CLI-160"> - PosixParser now supports partial long options (--ver instead of --version). - </action> - </release> - - <release version="1.2" date="2009-03-19" description="This is a maintenance release containing bug fixes."> - <action type="fix" dev="joehni" issue="CLI-177"> - OptionBuilder is now reseted if an IllegalArgumentException occurs in create(). - </action> - <action type="remove" dev="bayard"> - Ant build system removed. - </action> - <action type="fix" dev="ebourg" issue="CLI-154"> - Incomplete usage documentation about Java property option. - </action> - <action type="fix" dev="bayard" issue="CLI-170"> - TypeHandler prints messages to stderr. - </action> - <action type="fix" dev="bayard" issue="CLI-162"> - Infinite loop in the wrapping code of HelpFormatter. - </action> - <action type="fix" dev="sgoeschl"> - Fixing some minor javadoc issues. - </action> - <action type="fix" dev="ebourg" issue="CLI-137"> - The number of arguments defined for an option specifies the arguments per occurrence of the option - and not for all occurrences. This was a major regression in CLI 1.1 which prevented the use of repeated options. - </action> - <action type="add" dev="ebourg"> - Added a getOptionProperties() method in the CommandLine class to retrieve easily the key/value pairs - specified with options like -Dkey1=value1 -Dkey2=value2. - </action> - <action type="update" dev="ebourg" issue="CLI-157"> - GnuParser now supports long options with an '=' sign (ie. --foo=bar and -foo=bar) - </action> - <action type="fix" dev="ebourg" issue="CLI-164"> - PosixParser no longer ignores unrecognized short options. - </action> - <action type="fix" dev="ebourg" issue="CLI-163"> - PosixParser no longer stops the bursting process of a token if stopAtNonOption is enabled and a non option - character is encountered. - </action> - <action type="fix" dev="ebourg" issue="CLI-165"> - PosixParser no longer keeps processing the tokens after an unrecognized long option - when stopAtNonOption is enabled. - </action> - <action type="fix" dev="ebourg" issue="CLI-156"> - Required options are properly checked if an Options instance is used twice to parse a command line. - </action> - <action type="update" dev="bayard" issue="CLI-155"> - The ordering of options can be defined in help messages. - </action> - <action type="fix" dev="bayard" issue="CLI-151" due-to="Dan Armbrust"> - The line wrapping in HelpFormatter now works properly. This caused CLI-162, and thus there was a feature change - for the HelpFormatter in that it is strict on width now rather than what seemed to be lenience before. Text without - whitespace will be cut off to fit in the spacing, and an IllegalStateException will be thrown if it is impossible - to output the information due to spacing constraints. - </action> - <action type="fix" dev="bayard" issue="CLI-149"> - The message of MissingOptionException has been improved. - </action> - <action type="update" dev="ebourg" issue="CLI-86"> - The exceptions have been enhanced with methods to retrieve easily the related options. - </action> - <action type="fix" dev="bayard" issue="CLI-141" due-to="Henning Schmiedehausen, Bjorn Townsend"> - Option.toString() now reports arguments properly. - </action> - <action type="update" dev="bayard" issue="CLI-142" due-to="Henning Schmiedehausen"> - The Parser class has been changed to be more easily extendable. - </action> - <action type="update" dev="bayard" issue="CLI-140"> - The following classes are now serializable: Option, OptionGroup, CommandLine and Options. - </action> - <action type="remove" dev="ebourg"> - OptionValidator is no longer public, its methods were all private. - </action> - </release> - - <release version="1.1" date="2007-07-08" description="This is a maintenance release containing bug fixes."> - <action type="fix" issue="CLI-2">Wrong usage summary. </action> - <action type="fix" issue="CLI-5">Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained. </action> - <action type="fix" issue="CLI-8">Line separator as first char for helpformatter (footer) throws exception. </action> - <action type="fix" issue="CLI-13">CommandLine.getOptionValue() behaves contrary to docs. </action> - <action type="fix" issue="CLI-21">clone method in Option should use super.clone(). </action> - <action type="fix" issue="CLI-23">Passing properties in Parser does not work for options with a single argument. </action> - <action type="fix" issue="CLI-26">Only long options without short option seems to be noticed. </action> - <action type="fix" issue="CLI-28">Infinite Loop in Command-Line processing. </action> - <action type="fix" issue="CLI-29">Options should not be able to be added more than once. </action> - <action type="fix" issue="CLI-35">HelpFormatter doesn't sort options properly. </action> - <action type="fix" issue="CLI-38">HelpFormatter doesn't function correctly for options with only LongOpt. </action> - <action type="fix" issue="CLI-44">Document enhancement. </action> - <action type="fix" issue="CLI-45">Documentation errors. </action> - <action type="fix" issue="CLI-51">Parameter value "-something" misinterpreted as a parameter. </action> - <action type="fix" issue="CLI-56">clone() method doesn't fully clone contents. </action> - <action type="fix" issue="CLI-59">No Javadoc for HelpFormatter!. </action> - <action type="fix" issue="CLI-65">Parser breaks up command line parms into single characters. </action> - <action type="fix" issue="CLI-67">Missing arguments in HelpFormatter.renderOptions(..). </action> - <action type="fix" issue="CLI-69">Error parsing option arguments. </action> - <action type="fix" issue="CLI-71">A weakness of parser. </action> - <action type="add" issue="CLI-78">Setting description of a Option. </action> - <action type="fix" issue="CLI-129">CLI_1_BRANCH build.xml doesn't work. </action> - <action type="fix" issue="CLI-130">Remove the Commons Lang dependency. </action> - <action type="fix" issue="CLI-131">Options class returns options in random order. </action> - <action type="fix" issue="CLI-132">MissingOptionException should contain a useful error message. </action> - <action type="fix" issue="CLI-133">NullPointerException in Util.stripLeadingHyphens when passed a null argument. </action> - <action type="fix" issue="CLI-134">1.1 is not backwards compatible because it adds methods to the CommandLineParser interface. </action> - <action type="fix" issue="CLI-135">Backwards compatibility between 1.1 and 1.0 broken due to Option.addValue removal. </action> - </release> - - <release version="1.0" date="2002-11-06" description="Initial release"/> - - </body> -</document> +<?xml version="1.0"?> +<!-- + 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. +--> +<document> + <properties> + <title>Apache Commons CLI Release Notes</title> + </properties> + <body> + <release version="1.6" date="tbd" description="New features and bug fixes"> + <!-- FIX --> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 417-423] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 446-450] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Fix SpotBugs Error: Medium: Method intentionally throws RuntimeException. [org.apache.commons.cli.Option] At Option.java:[lines 474-478] THROWS_METHOD_THROWS_RUNTIMEEXCEPTION + </action> + <action type="update" dev="ggregory" due-to="Arturo Bernal"> + Use EMPTY_STRING_ARRAY constant. #102. + </action> + <!-- ADD --> + <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> + Add github/codeql-action. + </action> + <!-- UPDATES --> + <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> + Bump actions/cache from 2.1.7 to 3.0.3 #97. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump actions/setup-java from 2 to 3. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> + Bump spotbugs from 4.5.3 to 4.7.0 #96, #107. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump spotbugs-maven-plugin from 4.5.3.0 to 4.6.0.0 #98. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump commons-parent from 52 to 53 #100. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump maven-antrun-plugin from 3.0.0 to 3.1.0 #103. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump maven-javadoc-plugin from 3.3.2 to 3.4.0 #105. + </action> + </release> + <release version="1.5.0" date="10-23-2021" description="New features and bug fixes (Java 7)."> + <!-- FIX --> + <action type="fix" dev="ggregory" due-to="Gary Gregory"> + Fix NPE in DefaultParser.isLongOption(String). + </action> + <action type="fix" dev="britter" due-to="Krishna Mohan Rao Kandunoori" issue="CLI-279"> + @param or @return lines should end with a period in CommandLine.java + </action> + <action type="fix" dev="ggregory" due-to="Gary Gregory"> + Replace deprecated FindBugs with SpotBugs. + </action> + <action type="fix" dev="ggregory" due-to="Gary Gregory"> + Replace CLIRR with JApiCmp. + </action> + <action type="fix" dev="ggregory" due-to="Elliotte Rusty Harold"> + Option Javadocs grammar nits #55. + </action> + <action type="fix" dev="ggregory" due-to="Arturo Bernal, Gary Gregory"> + Minor Improvements #57, #61. + </action> + <action type="fix" dev="ggregory" due-to="stoty" issue="CLI-254"> + Input "test" gets parsed as test, quotes die #58. + </action> + <action type="fix" dev="ggregory" due-to="MrQubo, Gary Gregory" issue="CLI-287"> + Allow whitespace-only header and footer #26. + </action> + <!-- ADD --> + <action type="add" dev="chtompki" due-to="Rubin Simons" issue="CLI-217"> + Accommodate toggling partial matching in DefaultParser. + </action> + <action type="add" dev="britter" due-to="Béla Schaum" issue="CLI-274"> + Option parser type EXISTING_FILE_VALUE not check file existing + </action> + <action type="add" dev="britter" due-to="Christoph Läubrich" issue="CLI-271"> + CommandLine.getXXX and CommandLine.hasXXX should accept an Option as a parameter + </action> + <action type="add" dev="ggregory" due-to="Jason Dillon" issue="CLI-276"> + Adjust access-modifier of checkRequiredOptions() to protected. + </action> + <action type="add" dev="ggregory" due-to="Alex Nordlund" issue="CLI-282"> + TypeHandler should throw ParseException for an unsupported class. + </action> + <action type="add" dev="ggregory" due-to="Waldemar Sojka, Gary Gregory"> + Added setter for Builder.option #33. + </action> + <action type="add" dev="ggregory" due-to="Waldemar Sojka, Gary Gregory"> + Add Option unit tests #76. + </action> + <!-- UPDATE --> + <action type="update" dev="ggregory" issue="CLI-294"> + Update Java from version 5 to 7. + </action> + <action type="update" dev="ggregory" due-to="Mincong Huang"> + Docs: Replace OptionBuilder in usage page #30. + </action> + <action type="update" dev="ggregory" due-to="dengliming"> + Remove deprecated sudo setting. #36. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> + Bump junit:junit from 4.12 to 4.13.2, #53, #60. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump commons-parent from 48 to 52. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump maven-pmd-plugin from 3.12.0 to 3.16.0, #44, #54, #67, #92. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump actions/checkout from 2.3.1 to 3 #46, #72, #78, #93. + </action> + <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> + Bump actions/setup-java from v1.4.2 to v2 #50. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump maven-antrun-plugin from 1.7 to 3.0.0 #43. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump maven-checkstyle-plugin from 2.15 to 3.1.2 #41. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump checkstyle to 9.3 #68, #86, #90. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump actions/cache from 2 to 2.1.7 #64, #65, #81. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump commons.animal-sniffer.version 1.19 -> 1.20. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump maven-bundle-plugin 5.1.1 -> 5.1.2. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump biz.aQute.bndlib.version 5.1.2 -> 6.0.0. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump spotbugs from 4.4.1 to 4.5.3 #70, #88. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump spotbugs-maven-plugin from 4.4.1 to 4.5.3.0 #71, #85, #87. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump maven-javadoc-plugin from 3.3.1 to 3.3.2, #91. + </action> + </release> + + <release version="1.4" date="2017-03-09" description="New features and bug fixes"> + <action type="add" dev="rfscholte" issue="CLI-269"> + Introduce CommandLine.Builder + </action> + <action type="fix" dev="britter" issue="CLI-265" due-to="Martin Sandiford"> + Optional argument picking up next regular option as its argument + </action> + <action type="add" dev="britter" issue="CLI-267" due-to="Ricardo Ribeiro"> + Add an addRequiredOption method to Options + </action> + <action type="fix" dev="britter" issue="CLI-266" due-to="Ravi Teja"> + HelpFormatter.setOptionComparator(null) doesn't display the values in inserted order + </action> + </release> + + <release version="1.3.1" date="2015-06-17" description="Bug fix release for 1.3"> + <action type="fix" dev="britter" issue="CLI-252" due-to="Simon Harrer"> + LongOpt falsely detected as ambiguous + </action> + </release> + + <release version="1.3" date="2015-05-09" description="This is a feature and maintenance bug fix release."> + <action type="fix" dev="djones" issue="CLI-248"> + Fixed broken Javadoc links on Introduction page. + </action> + <action type="fix" dev="tn" issue="CLI-234" due-to="Greg Thomas"> + Fixed code example in javadoc of "Option#Builder#valueSeparator(char)". + </action> + <action type="fix" dev="tn" issue="CLI-241" due-to="Beluga Behr"> + Clarified behavior of "OptionValidator#validateOption(String)" in case of null input. + </action> + <action type="update" dev="tn" issue="CLI-240" due-to="Beluga Behr"> + Small cleanup of Option class. + </action> + <action type="update" dev="tn" issue="CLI-231" due-to="Duncan Jones"> + Removed DoubleCheckedLocking test from checkstyle configuration. + </action> + <action type="update" dev="tn" issue="CLI-230"> + Options.getRequiredOptions() now returns an unmodifiable list. + </action> + <action type="add" dev="tn" issue="CLI-224" due-to="Duncan Jones, Brian Blount"> + Added new fluent API to create Option instances via builder class Option.Builder. + This replaces the now deprecated OptionBuilder. + </action> + <action type="update" dev="tn" issue="CLI-218" due-to="Sven"> + Clarify javadoc for CommandLine.getOptionValue() that the first specified + argument will be returned. + </action> + <action type="add" dev="tn" issue="CLI-214" due-to="Alexandru Mocanu"> + Added new method Options.addOption(String, String). + </action> + <action type="update" dev="tn" issue="CLI-227" due-to="Duncan Jones"> + Changed unit tests to junit 4 annotation style. + </action> + <action type="fix" dev="ebourg" issue="CLI-202"> + Default options will now work correctly with required options that are missing. + </action> + <action type="fix" dev="ebourg" issue="CLI-203"> + Default options will now work correctly together with option groups. + </action> + <action type="update" dev="ebourg" issue="CLI-209" due-to="Thomas Herre"> + The javadoc of OptionBuilder now states that the class is not thread-safe. + </action> + <action type="add" dev="ebourg" issue="CLI-169" due-to="J. Lewis Muir"> + HelpFormatter now supports setting the displayed separator of long options. + </action> + <action type="update" dev="ebourg" issue="CLI-197" due-to="Anders Larsson"> + Improve description of parameter "stopAtNonOption" in method + CommandLine.parse(Options, String[], boolean). + </action> + <action type="fix" dev="ebourg" issue="CLI-204"> + Passing default values for not defined options to a parser will now trigger + a ParseException instead of a NullPointerException. + </action> + <action type="fix" dev="ebourg" issue="CLI-205"> + HelpFormatter.setArgName(String) now correctly sets the argument name. + </action> + <action type="fix" dev="ebourg" issue="CLI-201"> + Default properties provided as input to the Parser.parse() methods are now + correctly processed. + </action> + <action type="fix" dev="ebourg" issue="CLI-215" due-to="Manuel Müller"> + CommandLine.getParsedOptionValue() now returns a String object if no + option type has been explicitly set. + </action> + <action type="update" dev="ggregory" issue="CLI-200" due-to="Gerard Weatherby"> + Fixed typo in javadoc of class CommandLine. + </action> + <action type="update" dev="ebourg" issue="CLI-223" due-to="Gerard Weatherby"> + Source code now uses generic types instead of raw types where possible. + </action> + <action type="update" dev="ebourg" issue="CLI-220" due-to="Joe Casadonte"> + Corrected javadoc for return type of MissingOptionException.getMissingOptions(). + </action> + <action type="fix" dev="ebourg" issue="CLI-212" due-to="Per Cederberg"> + HelpFormatter now prints command-line options in the same order as they + have been added. + </action> + <action type="fix" dev="ebourg" issue="CLI-186" due-to="Kristoff Kiefer"> + Standard help text now shows mandatory arguments also for the first option. + </action> + <action type="fix" dev="ebourg" issue="CLI-207" due-to="Uri Moszkowicz"> + HelpFormatter does not strip anymore leading whitespace in the footer text. + </action> + <action type="fix" dev="ebourg" issue="CLI-185" due-to="Einar M R Rosenvinge"> + Strip quotes contained in argument values only if there is exactly one at the + beginning and one at the end. + </action> + <action type="fix" dev="ebourg" issue="CLI-184"> + Negative numerical arguments take precedence over numerical options (only supported + by the new DefaultParser). + </action> + <action type="fix" dev="ebourg" issue="CLI-193" due-to="Travis McLeskey"> + Fix possible StringIndexOutOfBoundsException in HelpFormatter. + </action> + <action type="add" dev="ebourg" issue="CLI-161,CLI-167,CLI-181"> + A new parser is available: DefaultParser. It combines the features of the GnuParser and the PosixParser. + It also provides additional features like partial matching for the long options, and long options without + separator (i.e like the JVM memory settings: -Xmx512m). This new parser deprecates the previous ones. + </action> + <action type="fix" dev="ebourg" issue="CLI-183"> + OptionGroups no longer throw an AlreadySelectedException when reused for several parsings. + </action> + <action type="fix" dev="ebourg" issue="CLI-182"> + OptionGroup now selects properly an option with no short name. + </action> + <action type="add" dev="ebourg" issue="CLI-160"> + PosixParser now supports partial long options (--ver instead of --version). + </action> + </release> + + <release version="1.2" date="2009-03-19" description="This is a maintenance release containing bug fixes."> + <action type="fix" dev="joehni" issue="CLI-177"> + OptionBuilder is now reseted if an IllegalArgumentException occurs in create(). + </action> + <action type="remove" dev="bayard"> + Ant build system removed. + </action> + <action type="fix" dev="ebourg" issue="CLI-154"> + Incomplete usage documentation about Java property option. + </action> + <action type="fix" dev="bayard" issue="CLI-170"> + TypeHandler prints messages to stderr. + </action> + <action type="fix" dev="bayard" issue="CLI-162"> + Infinite loop in the wrapping code of HelpFormatter. + </action> + <action type="fix" dev="sgoeschl"> + Fixing some minor javadoc issues. + </action> + <action type="fix" dev="ebourg" issue="CLI-137"> + The number of arguments defined for an option specifies the arguments per occurrence of the option + and not for all occurrences. This was a major regression in CLI 1.1 which prevented the use of repeated options. + </action> + <action type="add" dev="ebourg"> + Added a getOptionProperties() method in the CommandLine class to retrieve easily the key/value pairs + specified with options like -Dkey1=value1 -Dkey2=value2. + </action> + <action type="update" dev="ebourg" issue="CLI-157"> + GnuParser now supports long options with an '=' sign (ie. --foo=bar and -foo=bar) + </action> + <action type="fix" dev="ebourg" issue="CLI-164"> + PosixParser no longer ignores unrecognized short options. + </action> + <action type="fix" dev="ebourg" issue="CLI-163"> + PosixParser no longer stops the bursting process of a token if stopAtNonOption is enabled and a non option + character is encountered. + </action> + <action type="fix" dev="ebourg" issue="CLI-165"> + PosixParser no longer keeps processing the tokens after an unrecognized long option + when stopAtNonOption is enabled. + </action> + <action type="fix" dev="ebourg" issue="CLI-156"> + Required options are properly checked if an Options instance is used twice to parse a command line. + </action> + <action type="update" dev="bayard" issue="CLI-155"> + The ordering of options can be defined in help messages. + </action> + <action type="fix" dev="bayard" issue="CLI-151" due-to="Dan Armbrust"> + The line wrapping in HelpFormatter now works properly. This caused CLI-162, and thus there was a feature change + for the HelpFormatter in that it is strict on width now rather than what seemed to be lenience before. Text without + whitespace will be cut off to fit in the spacing, and an IllegalStateException will be thrown if it is impossible + to output the information due to spacing constraints. + </action> + <action type="fix" dev="bayard" issue="CLI-149"> + The message of MissingOptionException has been improved. + </action> + <action type="update" dev="ebourg" issue="CLI-86"> + The exceptions have been enhanced with methods to retrieve easily the related options. + </action> + <action type="fix" dev="bayard" issue="CLI-141" due-to="Henning Schmiedehausen, Bjorn Townsend"> + Option.toString() now reports arguments properly. + </action> + <action type="update" dev="bayard" issue="CLI-142" due-to="Henning Schmiedehausen"> + The Parser class has been changed to be more easily extendable. + </action> + <action type="update" dev="bayard" issue="CLI-140"> + The following classes are now serializable: Option, OptionGroup, CommandLine and Options. + </action> + <action type="remove" dev="ebourg"> + OptionValidator is no longer public, its methods were all private. + </action> + </release> + + <release version="1.1" date="2007-07-08" description="This is a maintenance release containing bug fixes."> + <action type="fix" issue="CLI-2">Wrong usage summary. </action> + <action type="fix" issue="CLI-5">Dependecy on commons-lang-2.0 but commons-lang-1.0 is obtained. </action> + <action type="fix" issue="CLI-8">Line separator as first char for helpformatter (footer) throws exception. </action> + <action type="fix" issue="CLI-13">CommandLine.getOptionValue() behaves contrary to docs. </action> + <action type="fix" issue="CLI-21">clone method in Option should use super.clone(). </action> + <action type="fix" issue="CLI-23">Passing properties in Parser does not work for options with a single argument. </action> + <action type="fix" issue="CLI-26">Only long options without short option seems to be noticed. </action> + <action type="fix" issue="CLI-28">Infinite Loop in Command-Line processing. </action> + <action type="fix" issue="CLI-29">Options should not be able to be added more than once. </action> + <action type="fix" issue="CLI-35">HelpFormatter doesn't sort options properly. </action> + <action type="fix" issue="CLI-38">HelpFormatter doesn't function correctly for options with only LongOpt. </action> + <action type="fix" issue="CLI-44">Document enhancement. </action> + <action type="fix" issue="CLI-45">Documentation errors. </action> + <action type="fix" issue="CLI-51">Parameter value "-something" misinterpreted as a parameter. </action> + <action type="fix" issue="CLI-56">clone() method doesn't fully clone contents. </action> + <action type="fix" issue="CLI-59">No Javadoc for HelpFormatter!. </action> + <action type="fix" issue="CLI-65">Parser breaks up command line parms into single characters. </action> + <action type="fix" issue="CLI-67">Missing arguments in HelpFormatter.renderOptions(..). </action> + <action type="fix" issue="CLI-69">Error parsing option arguments. </action> + <action type="fix" issue="CLI-71">A weakness of parser. </action> + <action type="add" issue="CLI-78">Setting description of a Option. </action> + <action type="fix" issue="CLI-129">CLI_1_BRANCH build.xml doesn't work. </action> + <action type="fix" issue="CLI-130">Remove the Commons Lang dependency. </action> + <action type="fix" issue="CLI-131">Options class returns options in random order. </action> + <action type="fix" issue="CLI-132">MissingOptionException should contain a useful error message. </action> + <action type="fix" issue="CLI-133">NullPointerException in Util.stripLeadingHyphens when passed a null argument. </action> + <action type="fix" issue="CLI-134">1.1 is not backwards compatible because it adds methods to the CommandLineParser interface. </action> + <action type="fix" issue="CLI-135">Backwards compatibility between 1.1 and 1.0 broken due to Option.addValue removal. </action> + </release> + + <release version="1.0" date="2002-11-06" description="Initial release"/> + + </body> +</document>