JReleaser v1.5.1 has just been released! The full list of issues can be found at the v1.5.1 milestone. This is a patch release that only includes bug fixes, mainly affecting assemblers, the Docker packager, and SINGLE_JAR distributions. Special thanks go to Benjamin Marwell (🐦@bmarwell, 🐘@bmarwell) and Christian Stein (🐦@sormuras, 🐘@sormuras) for filing bugs and advice to get JReleaser up to speed with Java modules. Java Modules It all started with a simple question from Benjamin: does the java-archive assembler support creating launchers for modular Java applications? I thought it did. We had a look at the sources and well, something Read More
Jarviz 0.3.0 has been released!
Jarviz v0.3.0 has just been released! This version includes plenty of improvements: additional inputs supported by all commands, multiple inputs per command, new commands, and more! Repeatable Command Inputs Jarviz original goal is to inspect JAR files. Its first 2 releases let you define the target JAR to be analyzed by setting a value for one of these flags: –gav, –url, or –file. This is OK as long as you’re analyzing a single file, but what if you want to analyze a set of files? One option would be to invoke Jarviz multiple times which is OK for trivial cases. Read More
JReleaser 1.5.0 has been released!
JReleaser v1.5.0 has just been released! The full list of issues can be found at the v1.5.0 milestone. This release brings several updates related to setting model properties via environment variables and/or system properties. Additionally, Winget joins the list of supported package managers. Bug fixes and plenty of build enhancements are also included. Environment Several properties may now be set using either System Properties or environment variables; review the Environment section of each DSL element in the Reference. Additionally, local .env files may be used to define environment variables. A new env command may be used to display System property Read More
Releases posted in 2022
2022 is in the books. And what a year it was. We thought 2022 and 2021 were enough well, we know now 2022 topped them many times over. Work wise many teams at my current employer went the extra mile to ensure the next version of our flagship products will be ready for shipping this year as scheduled. Can’t wait to tell you what’s coming. Watch this space in the coming months. How well did I do this year with personal projects? Managed to post 59 releases in 2021 and in 2022 I managed … 59 again 😛 However, I’m Read More
JReleaser 1.4.0 has been released!
JReleaser v1.4.0 has just been released! The full list of issues can be found at the v1.4.0 milestone. This release adds a new distribution type (FLAT_BINARY), a new assembler (java-archive), updates to Docker support, and more! This release includes contributions made at Luzern Hackergarten as well as Hack.Commit.Push. Distribution New flat-binary distribution may be used to release binaries without packaging them in archives. Several package managers support this new distribution type. Deployment Adjustments to Nexus2 support now let you deploy snapshot artifacts to Nexus2 servers and Maven Central. Few other updates were made to support multi-project deployments and projects without Read More
Jarviz 0.1.0 has been released!
I’m excited to announce the first Jarviz release. v0.1.0 is here! What is Jarviz you may ask, it’s a brand new CLI tool that can inspect JAR files and provide insight on their contents. I build tools as a hobby. Some of these tools require Java 8 as a baseline because consumers may not have upgraded to recent versions of Java. As such tools must ensure their dependencies are compatible and do not contain bytecode higher than 52 (Java 8). I use the EnforceBytecodeVersion rule for Maven or Gradle given the build tool of choice for a particular tool. Yet Read More
JReleaser 1.3.1 has been released!
JReleaser v1.3.1 has just been released! This is quick fix release given a pair of issues found with deployment to Maven Central, recently releases in v1.3.0. We decided to cut a quick release now instead of waiting for the next stable release (1.4.0) by the end of December 2022. The full list of issues can be found at the v1.3.1 milestone. Maven Central Deployment to Maven Central is performed by the Nexus2 deployer. Operations that modify the state of a remote staged repository (close, drop, release) may take some time depending on the size of the repository. JReleaser v1.3.1 adds Read More
JReleaser 1.3.0 has been released!
JReleaser v1.3.0 has just been released! This release delivers a feature that has been requested since the first news of JReleaser came to light: posting releases (JARs & POMs) to Maven Central. Yes! We finally have it! The full list of issues can be found at the v1.3.0 milestone. This release includes contributions made at Basel & Luzern Hackergartens as well as Hacktoberfest. Here’s a quick rundown of the new features: Deploy There’s a new deploy phase available in the workflow. This phase is responsible for uploading artifacts to locations that follow a particular layout. This new phase supports Maven Read More
A POM by any other name
By POM I mean Apache Maven’s Project Object Model. The POM format is widely used not just by Apache Maven to build and consume projects, but also by other tools such as IDEs, build tools, code analyzers, etc. Understanding the capabilities exposed by this format are key to successful builds, developer productivity, supply chain management (and security as well), and other concerns. What follows is a list of different types of POMs you may encounter in the wild. This list is not exhaustive, feel free to comment on other patterns you may find. To begin with, a pom.xml file is Read More
JReleaser release cadence
Since the early days JReleaser has had 2 release paths: fast & slow. The fast path is the early-access release, posted every time a commit is pushed to the main branch. This type of release allows early adopters to test out new features as soon as they are added to the main branch. Consumers of the jreleaser/release-action GitHub Action can take advantage of the version property exposed by said action to select this release. Early Access releases are intended to be downloaded manually as they might be unstable and as such only CLI related artifacts are posted. There are NO Read More