Revisiting Publication to Maven Central with Apache Maven

Some weeks ago I posted an entry on Publishing to Maven Central with Apache Maven which shows the configuration I put in place on a handful of Open Source projects I maintain. The trigger that starts a release workflow is a commit message with “[release]” as a prefix. I was quite happy with the results, after all I’ve got the whole release pipeline working on automatic, however two things were nagging me. Firstly that a release workflow would always require a commit. What if I just wanted to publish a release on the go? Add up pushing a release from Read More


PomChecker 1.1.0 has been released!

Iā€™m happy to announce the immediate availability of the PomChecker suite version 1.1.0! PomChecker is a small utility that can verify if a POM or BOM file complies with the minimum requirements for being uploaded to Maven Central. I wrote this utility to reduce the chance of getting an error when uploading artifacts to Maven Central due to invalid or missing information in a given POM. There are no changes in behavior compared to version 1.0.0 however there are now three more options at your disposal for checking the validity of a POM file. The new options include: Running as Read More


Publishing to Maven Central using Apache Maven

Last week JFrog announced changes to its Bintray & JCenter services which will eventually lead to these services being discontinued by February 2022. I’ve been a happy Bintray user since the early days. Their services make uploading archives and having them available to the public a snap. Syncing those artifacts from JCenter to Maven Central can also be automated, simplifying the full release process. Previously I blogged about the options available to Gradle projects for publishing to Maven Central via Bintray. I’m saddened by the recent news of Bintray riding into the sunset, I’ll miss it dearly. And like many Read More


Building a layered modular Java application? Watch out for these!

Recently I’ve been experimenting with building layered modular Java applications with Layrry, a launcher and Java API for executing modularized Java applications. It so happens that version 1.0.0.Alpha1 was just released a couple of weeks ago, making it easier for anyone to give it a try. The base concept of Layrry is to organize your code in such a way that modules are grouped in a series of layers, enabling isolation between said layers as there’s a single classloader per layer, thus allowing conflicting modules (such as binary incompatibilities between classes) to be used within the same application. Module layers Read More


Layrry 1.0.0.Alpha1 has been released!

A brand new day brings a brand new release: I’m ecstatic to announce that Layrry 1.0.0.Alpha1 has been released! You can find all artifacts at Maven Central, Bintray, download them from Layrry’s releases page, or build it yourself by cloning https://github.com/moditect/layrry.git and following the build instructions found in the README, basically mvn install (yup, install is needed in this case, you can skip the clean). What’s more, you can also install Layrry directly from SDKMAN! as it’s now available as a candidate. šŸ¤©šŸ˜±šŸ˜šŸ„³ #Layrry at @sdkman_ pic.twitter.com/Kgu1BrsCaO ā€” Andres Almiray (@aalmiray) January 30, 2021 What’s all the fuzz about Layrry Read More


Releases posted in 2020

2020 was quite the year to say the least. The news cycle was underwhelming all year round. I must confess there were days when it was quite difficult to concentrate and couldn’t get anything done. I count myself among the lucky ones that were able to work from home since day one and didn’t get sick though I can’t say the same for friends and family, some got sick (most recovered) but tragically a few dear friends left before their time. Despite all the ups and downs I managed to post some releases during the year, as a matter of Read More


Ikonli 12.0.0 Released!

I’m ecstatic to announce that Ikonli 12.0.0 is finally available for general consumption! Ikonli is the best way to add spice and character to JavaFX and Swing applications alike via configurable icons. Ikonli provides icon packs for popular icon sets such as FontAwesome, Material Design, Weather icons, and more. This release increases the number of icons packs from 31 to 55! That’s a lot of icons to choose from! There’s no need to hunt down icons on the web, it’s likely Ikonli provides just what you require. But in the case that wasn’t true Ikonli is extensible, allowing you to Read More


Does Gradle need build profile support?

The need for customizing a build based on a particular environment is a prevalent one. Maven offers an option called build profiles which lets you customize certain aspects of the build but not all. However on the Gradle side of things, there’s no such feature found in core, with the argument being that contrasted to what Maven offers as means for defining build files (a limited XML based DSL), Gradle offers not one but two DSLs based on full programming languages. This allows developers use the same control flows they’re used to in production and test code but on build Read More


Announcing the PomChecker project

I’m happy to announce the immediate availability of the PomChecker suite! What is it you ask? It’s a small set of utilities to verify that a POM or BOM file complies with the minimum requirements for being uploaded to Maven Central. I wish an utility like this existed years ago when I started publishing artifacts to Maven Central. It took me a few tries in the beginning to get the POM files just right. Recently I’ve seen other developers struggling with these rules as well. Hopefully these utilities can help them and others get on the road much faster. There Read More


Configuring the OCI Gradle Build Cache plugin with GitHub Actions

Following up on the previous post that explains how to setup the OCI Gradle Build Cache plugin on Travis-CI today I’d like to show how to do the same with GitHub Actions. The steps to follow are quite similar; if you do not already have an OCI account and/or a configured compartment then please follow steps 1, 2, and 3 as explained in this post, then proceed with the next steps Step 4: Apply the plugin to your project Paste the following into your settings.gradle file Notice that the location of the config file is local to the project. There’s Read More


ˆ Back To Top