This is an automated email from the ASF dual-hosted git repository. sebb 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 c9268405 Normalise EOL c9268405 is described below commit c92684053fd8235817d1fc3af4e38450eb25c67e Author: Sebb <s...@apache.org> AuthorDate: Sat Jan 18 22:19:05 2025 +0000 Normalise EOL --- .gitattributes | 2 + .github/workflows/codeql-analysis.yml | 160 ++--- .github/workflows/maven.yml | 94 +-- src/changes/changes.xml | 1038 ++++++++++++++++----------------- 4 files changed, 648 insertions(+), 646 deletions(-) diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..db173deb --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +* text=auto +*.patch -text diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d6f2c05d..1f42db3b 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,85 +1,85 @@ -# 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: "CodeQL" - -on: - push: - branches: [ master ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ master ] - schedule: - - cron: '33 9 * * 4' - -permissions: - contents: read - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'java' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://git.io/codeql-language-support - - steps: - - name: Checkout repository +# 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: "CodeQL" + +on: + push: + branches: [ master ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ master ] + schedule: + - cron: '33 9 * * 4' + +permissions: + contents: read + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'java' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Learn more about CodeQL language support at https://git.io/codeql-language-support + + steps: + - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 - with: - persist-credentials: false + with: + persist-credentials: false - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL uses: github/codeql-action/init@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # 3.28.1 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild uses: github/codeql-action/autobuild@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # 3.28.1 - - # ℹ️ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # 3.28.1 diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 366803f1..dda6f610 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,52 +1,52 @@ -# 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] - -permissions: - contents: read - -jobs: - build: - - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.experimental }} - strategy: - matrix: - java: [ 8, 11, 17, 21, 23 ] - experimental: [false] - include: - - java: 24-ea - experimental: true - - steps: +# 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] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + matrix: + java: [ 8, 11, 17, 21, 23 ] + experimental: [false] + include: + - java: 24-ea + experimental: true + + steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 with: persist-credentials: false - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Set up JDK ${{ matrix.java }} + 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@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - - name: Build with Maven - run: mvn --errors --show-version --batch-mode --no-transfer-progress + with: + distribution: 'temurin' + java-version: ${{ matrix.java }} + - name: Build with Maven + run: mvn --errors --show-version --batch-mode --no-transfer-progress diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 9d94b1bd..11fdc14f 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -1,519 +1,519 @@ -<?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 xmlns="http://maven.apache.org/changes/2.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/changes/2.0.0 https://maven.apache.org/xsd/changes-2.0.0.xsd"> - <properties> - <title>Apache Commons CLI Release Notes</title> - </properties> - <body> - <release version="1.10.0" date="2025-01-11" description="This is a feature and maintenance release. Java 8 or later is required."> - <!-- FIX --> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate CommandLine.Builder() in favor of CommandLine.builder().</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate DeprecatedAttributes.Builder() in favor of DeprecatedAttributes.builder().</action> - <action type="fix" dev="ggregory" due-to="Dávid Szigecsán">Refactor default parser test #294.</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Port to JUnit 5.</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Generics for Converter should use Exception not Throwable.</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Pick up maven-antrun-plugin version from parent POM org.apache:apache.</action> - <!-- ADD --> - <action type="add" issue="CLI-339" dev="ggregory" due-to="Claude Warren, Gary Gregory">Help formatter extension in the new package #314.</action> - <action type="add" dev="ggregory" due-to="Gary Gregory">CommandLine.Builder implements Supplier<CommandLine>.</action> - <action type="add" dev="ggregory" due-to="Gary Gregory">DefaultParser.Builder implements Supplier<DefaultParser>.</action> - <action type="add" issue="CLI-340" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add CommandLine.getParsedOptionValues() #334.</action> - <!-- UPDATE --> - <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 72 to 79 #302, #304, #310, #315, #320, #327.</action> - <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">[test] Bump commons-io:commons-io from 2.16.1 to 2.18.0 #309, #337.</action> - <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">[test] Bump org.apache.commons:commons-text from 1.12.0 to 1.13.0 #344.</action> - </release> - <release version="1.9.0" date="2024-08-10" description="This release contains new features and bug fixes and requires Java 8 or above."> - <!-- ADD --> - <action type="add" dev="ggregory" due-to="Gary Gregory">Add OptionGroup.isSelected().</action> - <action type="add" dev="ggregory" due-to="Gary Gregory">You can now extend HelpFormatter.Builder.</action> - <action type="add" dev="ggregory" due-to="Claude Warren">Add 'since' attribute to Option to track when an Option was introduced #292</action> - <!-- FIX --> - <action type="fix" issue="CLI-334" dev="ggregory" due-to="Eric Pugh">Fix Javadoc pathing #280.</action> - <action type="fix" issue="CLI-335" dev="ggregory" due-to="Claude Warren">Updated properties documentation #285.</action> - <action type="fix" issue="CLI-336" dev="ggregory" due-to="Claude Warren, Gary Gregory">Deprecation not always reported #284.</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Replace internal StringBuffer with StringBuilder.</action> - <!-- UPDATE --> - <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 70 to 72 #283.</action> - </release> - <release version="1.8.0" date="2024-05-18" description="This release contains new features and bug fixes and requires Java 8 or above."> - <!-- ADD --> - <action type="add" issue="CLI-332" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add optional HelpFormatter Function to document Deprecated options #271.</action> - <action type="add" dev="ggregory" due-to="Gary Gregory">Add PMD check to default Maven goal.</action> - <!-- FIX --> - <action type="fix" issue="CLI-331" dev="ggregory" due-to="Claude Warren, Gary Gregory">Handle reporting of deprecated options when parameters are not String type. #270.</action> - <action type="fix" dev="ggregory" due-to="Claude Warren, Gary Gregory">Avoid throwing NullPointerException when calling CommandLineParser will null array elements.</action> - <action type="fix" dev="ggregory" due-to="Claude Warren">Cleanup deprecation issues #272.</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD UnnecessaryFullyQualifiedName issues.</action> - <!-- UPDATE --> - <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 69 to 70.</action> - </release> - <release version="1.7.0" date="2024-04-13" description="This release contains new features and bug fixes and requires Java 8 or above."> - <!-- FIX --> - <action type="fix" issue="CLI-312" dev="ggregory" due-to="Claude Warren, Gary Gregory">Inconsistent behavior in key/value pairs (Java property style).</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in Util.stripLeadingAndTrailingQuotes(String).</action> - <action type="fix" issue="CLI-320" dev="ggregory" due-to="Paul King, Claude Warren">Awkward behavior of Option.builder() for multiple optional args.</action> - <action type="fix" issue="CLI-325" dev="ggregory" due-to="Claude Warren">Properties from multiple arguments with value separator. #237.</action> - <action type="fix" issue="CLI-327" dev="ggregory" due-to="Claude Warren, Gary Gregory">Fix for expected textual date values. #244.</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Option.Builder.option("") should throw IllegalArgumentException instead of ArrayIndexOutOfBoundsException.</action> - <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in CommandLine.getOptionValues(Option|String).</action> - <!-- ADD --> - <action type="add" issue="CLI-321" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add and use a Converter interface and implementations without using BeanUtils #216.</action> - <action type="add" dev="ggregory" due-to="Gary Gregory">Add Maven property project.build.outputTimestamp for build reproducibility.</action> - <action type="add" issue="CLI-322" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add '-' as an option char and implemented extensive tests #217.</action> - <action type="add" issue="CLI-324" dev="ggregory" due-to="Claude Warren, Gary Gregory">Make adding OptionGroups and Options to existing Options easier #230.</action> - <action type="add" issue="CLI-323" dev="ggregory" due-to="Claude Warren, Gary Gregory">Added Supplier<T> defaults for getParsedOptionValue #229.</action> - <action type="add" issue="CLI-326" dev="ggregory" due-to="Claude Warren, Gary Gregory">Make Option.getKey() public #239.</action> - <action type="add" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add builder factory CommandLine#builder().</action> - <action type="add" issue="CLI-329" dev="ggregory" due-to="Eric Pugh, Gary Gregory">Support "Deprecated" CLI Options #252.</action> - <!-- UPDATE --> - <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 64 to 69 #256.</action> - <action type="update" dev="ggregory" due-to="Elric, Gary Gregory">Update the tests to JUnit 5 #238.</action> - <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump tests commons-io:commons-io from 2.16.0 to 2.16.1 #258.</action> - </release> - <release version="1.6.0" date="2023-10-23" description="This release contains new features and bug fixes and requires Java 8 or above."> - <!-- 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="Ken Dombeck"> - Use EMPTY_STRING_ARRAY constant. #102. - </action> - <action type="update" dev="ggregory" due-to="Arturo Bernal"> - Fix site links that are broken #155. - </action> - <action type="update" dev="ggregory" due-to="Arturo Bernal"> - Use Math.max() #111. Delete unused assignment #112. - </action> - <action dev="ggregory" type="fix" due-to="step-security-bot, Gary Gregory"> - [StepSecurity] ci: Harden GitHub Actions #176. - </action> - <action dev="ggregory" type="fix" due-to="Alexander Veit, Gary Gregory" issue="CLI-318"> - Inconsistent date format in changes report. - </action> - <action dev="ggregory" type="fix" due-to="Dilraj Singh, Gary Gregory" issue="CLI-283"> - Fix NPE in CommandLine.resolveOption(String). - </action> - <action dev="ggregory" type="fix" due-to="Dilraj Singh, Gary Gregory" issue="CLI-283"> - CommandLine.addOption(Option) should not allow a null Option. - </action> - <action dev="ggregory" type="fix" due-to="Gary Gregory" issue="CLI-283"> - CommandLine.addArgs(String) should not allow a null String. - </action> - <action dev="ggregory" type="fix" due-to="Julian Schilling, Gary Gregory" issue="CLI-303"> - Site docs: "Usage Scenarios" refers to deprecated methods. - </action> - <action dev="ggregory" type="fix" due-to="Philippe Bastiani, Sruteesh Kumar Paramata, Gary Gregory" issue="CLI-317"> - NullPointerException thrown by CommandLineParser.parse(). - </action> - <action dev="ggregory" type="fix" due-to="Dominik Stadler, HUNG LU, Sruteesh Kumar Paramata" issue="CLI-313"> - StringIndexOutOfBoundsException thrown by CommandLineParser.parse(). - </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="Gary Gregory"> - Bump Java from 7 to 8. - </action> - <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> - Bump actions/cache from 2.1.7 to 3.0.10 #97, #130, #132. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> - Bump actions/checkout from 3 to 3.1.0 #133. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump actions/setup-java from 2 to 3.6.0 #136. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> - Bump spotbugs from 4.5.3 to 4.7.3 #96, #107, #113, #125, #138. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.3.0 #98, #108, #115, #117, #126, #145. - </action> - <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> - Bump commons-parent from 52 to 64 #100, #128, #151, #158. - </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.1 #105, #120. - </action> - <action type="update" dev="ggregory" due-to="Dependabot"> - Bump maven-pmd-plugin from 3.16.0 to 3.19.0 #110, #124. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump jacoco-maven-plugin from 0.8.7 to 0.8.8. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #121. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Bump japicmp-maven-plugin from 0.15.4 to 0.16.0. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Update JUnit 4 to 5 vintage. - </action> - </release> - <release version="1.5.0" date="2021-10-23" description="This release contains new features and bug fixes and requires Java 7 or above."> - <!-- 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="This release contains new features and bug fixes and requires Java 5 or above."> - <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="This release contains bug fixes and requires Java 5 or above."> - <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 release contains new features and bug fixes and requires Java 5 or above.."> - <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 release contains new features and bug fixes and requires Java 5 or above."> - <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 xmlns="http://maven.apache.org/changes/2.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/changes/2.0.0 https://maven.apache.org/xsd/changes-2.0.0.xsd"> + <properties> + <title>Apache Commons CLI Release Notes</title> + </properties> + <body> + <release version="1.10.0" date="2025-01-11" description="This is a feature and maintenance release. Java 8 or later is required."> + <!-- FIX --> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate CommandLine.Builder() in favor of CommandLine.builder().</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Deprecate DeprecatedAttributes.Builder() in favor of DeprecatedAttributes.builder().</action> + <action type="fix" dev="ggregory" due-to="Dávid Szigecsán">Refactor default parser test #294.</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Port to JUnit 5.</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Generics for Converter should use Exception not Throwable.</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Pick up maven-antrun-plugin version from parent POM org.apache:apache.</action> + <!-- ADD --> + <action type="add" issue="CLI-339" dev="ggregory" due-to="Claude Warren, Gary Gregory">Help formatter extension in the new package #314.</action> + <action type="add" dev="ggregory" due-to="Gary Gregory">CommandLine.Builder implements Supplier<CommandLine>.</action> + <action type="add" dev="ggregory" due-to="Gary Gregory">DefaultParser.Builder implements Supplier<DefaultParser>.</action> + <action type="add" issue="CLI-340" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add CommandLine.getParsedOptionValues() #334.</action> + <!-- UPDATE --> + <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 72 to 79 #302, #304, #310, #315, #320, #327.</action> + <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">[test] Bump commons-io:commons-io from 2.16.1 to 2.18.0 #309, #337.</action> + <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">[test] Bump org.apache.commons:commons-text from 1.12.0 to 1.13.0 #344.</action> + </release> + <release version="1.9.0" date="2024-08-10" description="This release contains new features and bug fixes and requires Java 8 or above."> + <!-- ADD --> + <action type="add" dev="ggregory" due-to="Gary Gregory">Add OptionGroup.isSelected().</action> + <action type="add" dev="ggregory" due-to="Gary Gregory">You can now extend HelpFormatter.Builder.</action> + <action type="add" dev="ggregory" due-to="Claude Warren">Add 'since' attribute to Option to track when an Option was introduced #292</action> + <!-- FIX --> + <action type="fix" issue="CLI-334" dev="ggregory" due-to="Eric Pugh">Fix Javadoc pathing #280.</action> + <action type="fix" issue="CLI-335" dev="ggregory" due-to="Claude Warren">Updated properties documentation #285.</action> + <action type="fix" issue="CLI-336" dev="ggregory" due-to="Claude Warren, Gary Gregory">Deprecation not always reported #284.</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Replace internal StringBuffer with StringBuilder.</action> + <!-- UPDATE --> + <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump org.apache.commons:commons-parent from 70 to 72 #283.</action> + </release> + <release version="1.8.0" date="2024-05-18" description="This release contains new features and bug fixes and requires Java 8 or above."> + <!-- ADD --> + <action type="add" issue="CLI-332" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add optional HelpFormatter Function to document Deprecated options #271.</action> + <action type="add" dev="ggregory" due-to="Gary Gregory">Add PMD check to default Maven goal.</action> + <!-- FIX --> + <action type="fix" issue="CLI-331" dev="ggregory" due-to="Claude Warren, Gary Gregory">Handle reporting of deprecated options when parameters are not String type. #270.</action> + <action type="fix" dev="ggregory" due-to="Claude Warren, Gary Gregory">Avoid throwing NullPointerException when calling CommandLineParser will null array elements.</action> + <action type="fix" dev="ggregory" due-to="Claude Warren">Cleanup deprecation issues #272.</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix PMD UnnecessaryFullyQualifiedName issues.</action> + <!-- UPDATE --> + <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 69 to 70.</action> + </release> + <release version="1.7.0" date="2024-04-13" description="This release contains new features and bug fixes and requires Java 8 or above."> + <!-- FIX --> + <action type="fix" issue="CLI-312" dev="ggregory" due-to="Claude Warren, Gary Gregory">Inconsistent behavior in key/value pairs (Java property style).</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in Util.stripLeadingAndTrailingQuotes(String).</action> + <action type="fix" issue="CLI-320" dev="ggregory" due-to="Paul King, Claude Warren">Awkward behavior of Option.builder() for multiple optional args.</action> + <action type="fix" issue="CLI-325" dev="ggregory" due-to="Claude Warren">Properties from multiple arguments with value separator. #237.</action> + <action type="fix" issue="CLI-327" dev="ggregory" due-to="Claude Warren, Gary Gregory">Fix for expected textual date values. #244.</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Option.Builder.option("") should throw IllegalArgumentException instead of ArrayIndexOutOfBoundsException.</action> + <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in CommandLine.getOptionValues(Option|String).</action> + <!-- ADD --> + <action type="add" issue="CLI-321" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add and use a Converter interface and implementations without using BeanUtils #216.</action> + <action type="add" dev="ggregory" due-to="Gary Gregory">Add Maven property project.build.outputTimestamp for build reproducibility.</action> + <action type="add" issue="CLI-322" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add '-' as an option char and implemented extensive tests #217.</action> + <action type="add" issue="CLI-324" dev="ggregory" due-to="Claude Warren, Gary Gregory">Make adding OptionGroups and Options to existing Options easier #230.</action> + <action type="add" issue="CLI-323" dev="ggregory" due-to="Claude Warren, Gary Gregory">Added Supplier<T> defaults for getParsedOptionValue #229.</action> + <action type="add" issue="CLI-326" dev="ggregory" due-to="Claude Warren, Gary Gregory">Make Option.getKey() public #239.</action> + <action type="add" dev="ggregory" due-to="Claude Warren, Gary Gregory">Add builder factory CommandLine#builder().</action> + <action type="add" issue="CLI-329" dev="ggregory" due-to="Eric Pugh, Gary Gregory">Support "Deprecated" CLI Options #252.</action> + <!-- UPDATE --> + <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 64 to 69 #256.</action> + <action type="update" dev="ggregory" due-to="Elric, Gary Gregory">Update the tests to JUnit 5 #238.</action> + <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump tests commons-io:commons-io from 2.16.0 to 2.16.1 #258.</action> + </release> + <release version="1.6.0" date="2023-10-23" description="This release contains new features and bug fixes and requires Java 8 or above."> + <!-- 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="Ken Dombeck"> + Use EMPTY_STRING_ARRAY constant. #102. + </action> + <action type="update" dev="ggregory" due-to="Arturo Bernal"> + Fix site links that are broken #155. + </action> + <action type="update" dev="ggregory" due-to="Arturo Bernal"> + Use Math.max() #111. Delete unused assignment #112. + </action> + <action dev="ggregory" type="fix" due-to="step-security-bot, Gary Gregory"> + [StepSecurity] ci: Harden GitHub Actions #176. + </action> + <action dev="ggregory" type="fix" due-to="Alexander Veit, Gary Gregory" issue="CLI-318"> + Inconsistent date format in changes report. + </action> + <action dev="ggregory" type="fix" due-to="Dilraj Singh, Gary Gregory" issue="CLI-283"> + Fix NPE in CommandLine.resolveOption(String). + </action> + <action dev="ggregory" type="fix" due-to="Dilraj Singh, Gary Gregory" issue="CLI-283"> + CommandLine.addOption(Option) should not allow a null Option. + </action> + <action dev="ggregory" type="fix" due-to="Gary Gregory" issue="CLI-283"> + CommandLine.addArgs(String) should not allow a null String. + </action> + <action dev="ggregory" type="fix" due-to="Julian Schilling, Gary Gregory" issue="CLI-303"> + Site docs: "Usage Scenarios" refers to deprecated methods. + </action> + <action dev="ggregory" type="fix" due-to="Philippe Bastiani, Sruteesh Kumar Paramata, Gary Gregory" issue="CLI-317"> + NullPointerException thrown by CommandLineParser.parse(). + </action> + <action dev="ggregory" type="fix" due-to="Dominik Stadler, HUNG LU, Sruteesh Kumar Paramata" issue="CLI-313"> + StringIndexOutOfBoundsException thrown by CommandLineParser.parse(). + </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="Gary Gregory"> + Bump Java from 7 to 8. + </action> + <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> + Bump actions/cache from 2.1.7 to 3.0.10 #97, #130, #132. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> + Bump actions/checkout from 3 to 3.1.0 #133. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump actions/setup-java from 2 to 3.6.0 #136. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot"> + Bump spotbugs from 4.5.3 to 4.7.3 #96, #107, #113, #125, #138. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.3.0 #98, #108, #115, #117, #126, #145. + </action> + <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory"> + Bump commons-parent from 52 to 64 #100, #128, #151, #158. + </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.1 #105, #120. + </action> + <action type="update" dev="ggregory" due-to="Dependabot"> + Bump maven-pmd-plugin from 3.16.0 to 3.19.0 #110, #124. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump jacoco-maven-plugin from 0.8.7 to 0.8.8. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #121. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Bump japicmp-maven-plugin from 0.15.4 to 0.16.0. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Update JUnit 4 to 5 vintage. + </action> + </release> + <release version="1.5.0" date="2021-10-23" description="This release contains new features and bug fixes and requires Java 7 or above."> + <!-- 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="This release contains new features and bug fixes and requires Java 5 or above."> + <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="This release contains bug fixes and requires Java 5 or above."> + <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 release contains new features and bug fixes and requires Java 5 or above.."> + <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 release contains new features and bug fixes and requires Java 5 or above."> + <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>