Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Suggestion: Homebrew support #727

Open
yschimke opened this issue Jun 16, 2019 · 9 comments
Open

Feature Suggestion: Homebrew support #727

yschimke opened this issue Jun 16, 2019 · 9 comments

Comments

@yschimke
Copy link

It's fairly trivial to expose and bundled java app with launcher scripts via homebrew without any permission from upstream brew maintainers

e.g. https://github.com/yschimke/homebrew-tap/blob/master/rsocket-cli.rb#L18

This script makes the following brew command possible

brew install yschimke/tap/rsocket-cli

Since you are generating bash completion scripts, it seems like a logical step to generate a homebrew file.

@yschimke
Copy link
Author

Feel free to close, this is a suggestion, I don't have plans to actively work on this.

@remkop
Copy link
Owner

remkop commented Jun 16, 2019

Another cool idea, thank you!
So basically we want to generate a script very similar to the linked script from a picocli model.

Looking at the linked rsocket-cli.rb script, missing items not in the picocli model (so user must provide):

  • homepage
  • URL (we can generate the sha checksum from the artifact downloaded from this URL)

Anything else?

@yschimke
Copy link
Author

That seems about right. BTW I converted a project from airline to picocli and the experience was great. Particularly because I want it to work well with graal etc and it seems to rely a lot less on reflection.

rsocket/rsocket-cli@099792f

I've implemented a few CLIs now, so really appreciate the functionality this library provides. Some of these suggestions are towards allowing a developer to just write the Main class, and have shell integration, installation, user help for free. I guess I'm wondering how you could tie the experience together, or whether that is something a framework like micronauts would provide?

@aalmiray
Copy link
Contributor

aalmiray commented Apr 9, 2021

I've been working on a tool to make this possible: https://jreleaser.org

Bonus: it's CLI option uses picocli (thanks @remkop!)

@remkop
Copy link
Owner

remkop commented Apr 9, 2021

@aalmiray Very nice! I am happy to include a link to jreleaser from the picocli docs, maybe the Packaging section. Do you feel like providing a PR?

@aalmiray
Copy link
Contributor

Love to! Where can I find the doc sources? i cloned this repo and found HTML files under docs but it looks to me the site is built with Asciidoc, isn't it? Another weird thing is that Ii get the following files already modified upon checking out my fork

	modified:   docs/A-Whirlwind-Tour-of-Picocli.html
	modified:   docs/announcing-picocli-1.0.html
	modified:   docs/autocomplete.html
	modified:   docs/build-great-native-cli-apps-in-java-with-graalvm-and-picocli.html
	modified:   docs/feedback.html
	modified:   docs/groovy-2.5-clibuilder-renewal-part1.html
	modified:   docs/groovy-2.5-clibuilder-renewal-part2.html
	modified:   docs/groovy-2.5-clibuilder-renewal.html
	modified:   docs/man/index.html
	modified:   docs/migrating-from-commons-cli.html
	modified:   docs/picocli-2.0-do-more-with-less.html
	modified:   docs/picocli-2.0-groovy-scripts-on-steroids.html
	modified:   docs/picocli-on-graalvm.html
	modified:   docs/picocli-programmatic-api.html
	modified:   docs/quick-guide.html
	modified:   docs/zh/picocli-2.0-do-more-with-less.html
	modified:   docs/zh/picocli-2.0-groovy-scripts-on-steroids.html

Is there some sort of trigger that modifies these files?

@remkop
Copy link
Owner

remkop commented Apr 10, 2021

Hi @aalmiray! The modified files are generated HTML files, you can ignore them. I thought I had fixed things so that when I commit files, line endings are converted from CRLF to LF, but perhaps something went wrong there... I hope it is not too inconvenient.

The source for the manual is here:
https://github.com/remkop/picocli/blob/master/docs/index.adoc

When you run gradlew asci, the generated index.html will appear in build/docs/index.html.

@mayurankv
Copy link

I'd also like a brew package ideally. It's a very popular package management framework!

@remkop
Copy link
Owner

remkop commented Feb 10, 2024

I'd also like a brew package ideally. It's a very popular package management framework!

@mayurankv This is supported via JReleaser: https://picocli.info/#_jreleaser

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants