-1  There is a design issue.

The HelpFormatter now takes a  BiFunction<String, Option, String>  to
format the description for deprecated Options.  However, it is simple to
implement Function<Option,String> instead. I think this makes for a cleaner
interface.  Since this interface is public facing, I would like to merge
the change in #277 and start again.

@Gary Gregory <garydgreg...@gmail.com> sorry that I jumped the gun late
last night and said that I thought it was ready to go.

#277 implements changes to simplify deprecated help output.

   - Changed deprecatedFormatFunc from BiFunction<String, Option, String>
   to Function<Option,String>
   - updated docs
   - added HelpFormatter.getDescription(Option) to provide a function does
   not return null for getDescription

See  https://github.com/apache/commons-cli/pull/277

If nobody else sees benefit in this, I will withdraw my -1.

Claude

On Sat, May 18, 2024 at 3:13 AM Gary Gregory <ggreg...@apache.org> wrote:

> We have fixed a few bugs and added enhancements since Apache Commons
> CLI 1.7.0 was released, so I would like to release Apache Commons CLI
> 1.8.0.
>
> Apache Commons CLI 1.8.0 RC1 is available for review here:
>     https://dist.apache.org/repos/dist/dev/commons/cli/1.8.0-RC1 (svn
> revision 69270)
>
> The Git tag commons-cli-1.8.0-RC1 commit for this RC is
> c4d8376b351df7d6485ddddb83f005483fe2a243 which you can browse here:
>
> https://gitbox.apache.org/repos/asf?p=commons-cli.git;a=commit;h=c4d8376b351df7d6485ddddb83f005483fe2a243
> You may checkout this tag using:
>     git clone https://gitbox.apache.org/repos/asf/commons-cli.git
> --branch <https://gitbox.apache.org/repos/asf/commons-cli.git--branch>
> commons-cli-1.8.0-RC1 commons-cli-1.8.0-RC1
>
> Maven artifacts are here:
>
> https://repository.apache.org/content/repositories/orgapachecommons-1730/commons-cli/commons-cli/1.8.0/
>
> These are the artifacts and their hashes:
>
> #Release SHA-512s
> #Sat May 18 01:02:06 UTC 2024
>
> commons-cli-1.8.0-bin.tar.gz=cabf565ae359e5c1928230d27c6ea41b284a4230b1ed47382728d759547810d506b5bfceaa516f1750ad3a6c5967bc65143fe1213a4a5b4896e85761c81feaa0
>
> commons-cli-1.8.0-bin.zip=8374fce9e9ef6dc8038693a77e0f4593968babe41c618ab1773f48601c6edf8893b0dd753cac1d82f6dec78a3382ebf8042a212234f100dddec0c59e638d4f38
>
> commons-cli-1.8.0-bom.json=2d9b8cb5333bf31a48fdb1037dec84c48434c619a4fe421529df7386f2ede67b76c61d2c490bbb5b6af301f92262a95fb3dff30b91468bb4b6ce555f2f1e1026
>
> commons-cli-1.8.0-bom.xml=00f5c34db21083b3f2677a931d9b2e10de60c40fa3f58fc2a01ea34e4b5227b800d58231df9194f2a39d2c40e062b859bce5399f93d2188ca230be81bfb93106
>
> commons-cli-1.8.0-javadoc.jar=869d508dd04c785bb64b1cb0103ea807dcc595434b47263c843dc7410deab2f18423507751e828fce754627fb8e4d5f0190c4241754c72271e1fcdaeecd4c348
>
> commons-cli-1.8.0-sources.jar=8dafa2b16fb87e1422ce3b55575a145b24749ee8f2f4e38a5404940fdcca5ddcf471bd58ad3bb2f41f5057d543ced41bf6c4d1a4d6b8af708c71148abf75be59
>
> commons-cli-1.8.0-src.tar.gz=93121734d15c380f2aeabcfd576497a8b52e5c64070de311cc1ae141dd6980365246b0763d941794e1ddd2f5f682339a5552b601afd9b5585dffff8d0d0f2e31
>
> commons-cli-1.8.0-src.zip=8279dfd91fa12b3cd6b5527f68e22c2cc262bcbace02395253d784d88a6cf9fd0e5c83ee5c28daa4dd6f66b362d2b794163e02254be127b15cb5189c15e76e2b
>
> commons-cli-1.8.0-test-sources.jar=5fe999d231cc816599c7a8a5ed807940dc6ae020ce847865f56ceef88ed3d8f920e672d145e7754b78472b4b2e61ccaf35ca493c86d63530fd6cfdbf8412b990
>
> commons-cli-1.8.0-tests.jar=faf2191186a6c477d8bd4843310805f1ea4cb6d7d254a8a9588968101438d6ad408dbb98d055ca4e0b5ca30b6896a91724aa20305b28d5e4223820e095c0e3c1
>
> commons-cli_commons-cli-1.8.0.spdx.json=b3b7c227e8eedbe22efa25155fa89497890730942bbfc60855bf76d617ab88a7212c7253a4e6118766157bc4932ec5fd3717821670ed8131fe455e53815277b9
>
> I have tested this with 'mvn' and 'mvn -V -Prelease -Ptest-deploy -P
> jacoco -P japicmp clean package site deploy' using:
>
> openjdk version "17.0.11" 2024-04-16
> OpenJDK Runtime Environment Homebrew (build 17.0.11+0)
> OpenJDK 64-Bit Server VM Homebrew (build 17.0.11+0, mixed mode, sharing)
>
> Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
> Maven home: /usr/local/Cellar/maven/3.9.6/libexec
> Java version: 17.0.11, vendor: Homebrew, runtime:
> /usr/local/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home
> Default locale: en_US, platform encoding: UTF-8
> OS name: "mac os x", version: "14.4.1", arch: "x86_64", family: "mac"
>
> Darwin **** 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:11:05
> PDT 2024; root:xnu-10063.101.17~1/RELEASE_X86_64 x86_64
>
> Details of changes since 1.7.0 are in the release notes:
>
> https://dist.apache.org/repos/dist/dev/commons/cli/1.8.0-RC1/RELEASE-NOTES.txt
>
> https://dist.apache.org/repos/dist/dev/commons/cli/1.8.0-RC1/site/changes-report.html
>
> Site:
>
> https://dist.apache.org/repos/dist/dev/commons/cli/1.8.0-RC1/site/index.html
>     (note some *relative* links are broken and the 1.8.0 directories
> are not yet created - these will be OK once the site is deployed.)
>
> JApiCmp Report (compared to 1.7.0):
>
> https://dist.apache.org/repos/dist/dev/commons/cli/1.8.0-RC1/site/japicmp.html
>
> RAT Report:
>
> https://dist.apache.org/repos/dist/dev/commons/cli/1.8.0-RC1/site/rat-report.html
>
> KEYS:
>   https://downloads.apache.org/commons/KEYS
>
> Please review the release candidate and vote.
> This vote will close no sooner than 72 hours from now.
>
>   [ ] +1 Release these artifacts
>   [ ] +0 OK, but...
>   [ ] -0 OK, but really should fix...
>   [ ] -1 I oppose this release because...
>
> Thank you,
>
> Gary Gregory,
> Release Manager (using key 86fdc7e2a11262cb)
>
> For following is intended as a helper and refresher for reviewers.
>
> Validating a release candidate
> ==============================
>
> These guidelines are NOT complete.
>
> Requirements: Git, Java, Maven.
>
> You can validate a release from a release candidate (RC) tag as follows.
>
> 1a) Clone and checkout the RC tag
>
> git clone https://gitbox.apache.org/repos/asf/commons-cli.git --branch
> commons-cli-1.8.0-RC1 commons-cli-1.8.0-RC1
> cd commons-cli-1.8.0-RC1
>
> 1b) Download and unpack the source archive from:
>
> https://dist.apache.org/repos/dist/dev/commons/cli/1.8.0-RC1/source
>
> 2) Check Apache licenses
>
> This step is not required if the site includes a RAT report page which
> you then must check.
>
> mvn apache-rat:check
>
> 3) Check binary compatibility
>
> Older components still use Apache Clirr:
>
> This step is not required if the site includes a Clirr report page
> which you then must check.
>
> mvn clirr:check
>
> Newer components use JApiCmp with the japicmp Maven Profile:
>
> This step is not required if the site includes a JApiCmp report page
> which you then must check.
>
> mvn install -DskipTests -P japicmp japicmp:cmp
>
> 4) Build the package
>
> mvn -V clean package
>
> You can record the Maven and Java version produced by -V in your VOTE
> reply.
> To gather OS information from a command line:
> Windows: ver
> Linux: uname -a
>
> 5) Build the site for a single module project
>
> Note: Some plugins require the components to be installed instead of
> packaged.
>
> mvn site
> Check the site reports in:
> - Windows: target\site\index.html
> - Linux: target/site/index.html
>
> -the end-
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

-- 
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to