Earlier quoted context omitted.
My apologies, I couldn’t find this in the documentation. Can you give me a link?
https://jreleaser.org/guide/latest/reference/assemble/deb.ht...
JReleaser: quick and effortless way to release your project
11–20 of 37 posts
Re: JReleaser: quick and effortless way to release your project
#12When I released my last Java project, I came out with a MacOS DMG, a Windows EXE installer, a Windows MSI installer, and a Fat Jar for Linux. Now we have MacOS ARM, MacOS x86, Linux ARM/x86, Windows ARM/x86. Even for a basic "cross platform" Java program (that bundles the JRE), that's 6 installs, which ostensibly need to be built on their respective platforms. Add on to that if you using something that includes a bin…
Distributing a single uberjar, whenever possible, is generally a good idea IMO. One major reason I like the JVM as a platform is that I don't need to mess with containers or native images. To reduce burden of deployment, native images are out of the question. Thus the choices are "force user to have Java runtime installed" or "force user to have container runtime installed". Double-clicking a JAR file (or running "ja…
You don't need to do JLink for JavaFX. FX requires binary libraries, but you can make "platform specific" uber jars (and, probably, generic uber jars) that bundle correct libraries.
SQLite bundles all of the platforms into a single jar file, for example.
But that's another reason, at least for me, to look at the maven wrapper. Maven will "download the right thing" and not "burden" folks with copies of libraries they don't need. FX binaries can be quite big, particularly if you include WebKit (which I do simply for easy in app documentation, it's just a fat pig of a dependency though).
Re: JReleaser: quick and effortless way to release your project
#13Is it somehow related to GoReleaser? I saw GoReleaser supports multiple languages now as well
Re: JReleaser: quick and effortless way to release your project
#14Is it somehow related to GoReleaser? I saw GoReleaser supports multiple languages now as well
Re: JReleaser: quick and effortless way to release your project
#15Is it somehow related to GoReleaser? I saw GoReleaser supports multiple languages now as well
I think jRelease was based on some of GoReleaser's ideas.
GoReleaser just recently started adding support for more languages.
Re: JReleaser: quick and effortless way to release your project
#16Re: JReleaser: quick and effortless way to release your project
#17Is it somehow related to GoReleaser? I saw GoReleaser supports multiple languages now as well
[1] https://jreleaser.org/guide/latest/index.html#_acknowledgmen...
Re: JReleaser: quick and effortless way to release your project
#18When I released my last Java project, I came out with a MacOS DMG, a Windows EXE installer, a Windows MSI installer, and a Fat Jar for Linux. Now we have MacOS ARM, MacOS x86, Linux ARM/x86, Windows ARM/x86. Even for a basic "cross platform" Java program (that bundles the JRE), that's 6 installs, which ostensibly need to be built on their respective platforms. Add on to that if you using something that includes a bin…
Re: JReleaser: quick and effortless way to release your project
#19When I released my last Java project, I came out with a MacOS DMG, a Windows EXE installer, a Windows MSI installer, and a Fat Jar for Linux. Now we have MacOS ARM, MacOS x86, Linux ARM/x86, Windows ARM/x86. Even for a basic "cross platform" Java program (that bundles the JRE), that's 6 installs, which ostensibly need to be built on their respective platforms. Add on to that if you using something that includes a bin…
Did you look at https://www.jdeploy.com/ ?
Re: JReleaser: quick and effortless way to release your project
#20https://github.com/NJAldwin/maven-central-test
I wanted to release a jvm lib on Maven Central -- which no longer requires opening a jira ticket for a new package! Instead, simple DNS TXT verification is all that's needed. However, the caveat is that it's the new Maven Central service, which doesn't have as much support in build tools as the older sonatype one. jReleaser is one of the few tools which supports it.
So I hacked together a fully self-contained minimally reproducible example of a Gradle library, built and published in GitHub using jReleaser.
There were several things that had me scratching my head with jReleaser, and the docs are strangely organized IMO (it comes from supporting so many facets, I believe), but it ended up working well enough!
I ended up adding a doc build and some other stuff to the repo too. Now I have a full example that I can use to trivially publish new libraries (such as in-progress https://github.com/NJAldwin/ambient-consumer ).
(Why Maven Central? Since the demise of jFrog/jCenter/BinTray, there's not been an easy way to widely publish jvm libraries. At work I've used GH packages, but that requires a GitHub login even for public packages, which is a significant barrier IME. JitPack is one option, but it does on-demand builds linked closely to the origin repo, whereas I wanted the classic immutable build published on release.)