Blog


Feb 12, 2024
Await all artifacts from a release on Maven Central

I often release Maven projects with many artifacts, such as Camel Quarkus and Quarkus CXF. The release process consists of several steps, including Read more...


Jun 4, 2023
Remote Maven Build Cache with Nginx

The instructions for setting up a remote Maven Build Cache are useful but they are missing an important detail: how to configure a server for the remote cache role. Read more...


May 21, 2023
mvnd - the Maven Daemon

Maven is a build tool for Java and other languages targeting Java Virtual Machine (JVM). The declarative approach to defining builds belongs to its main strengths. Even basic knowledge of Maven principles allows understanding basically any third party project. It is well established, rather stable and has a rich ecosystem of plugins. It is also very important for defining the de facto standard for publishing and consuming libraries. Maven Central and its artifact metadata formats are used and respected throughout the JVM world. Read more...


Jan 12, 2023
3D modelling and printing for fun and profit

I have bought Prusa Mini+ 3D printer a couple of weeks ago. I primarily wanted to use it for printing small things that are hard to produce in other ways. Read more...


Jan 3, 2023
How I haven’t been scammed

I happen to look for a new apartment these days. I went through the process in the past so I can say I know what is usual and what is not. Read more...


Dec 28, 2021
Lego 51515 on Fedora

My 13 years old son Vítek just got LEGO 51515 (a.k.a. Robot Inventor) for Christmas. He assessed the Scratch programming in the Android app as "limiting" after playing with it for a couple of hours and he uttered a wish to try Python. Unfortunately, Lego does not provide any tools for Linux, the the main OS used within our family. So we started to look for workarounds. Read more...


Mar 13, 2021
My talks on JavaLand 2021

I am giving two talks on JavaLand 2021. One is Quarkus deep dive for Extension authors and the second one is about integrating systems with Apache Camel on Quarkus, Knative and Kafka Connect. Read more...


Mar 6, 2021
How to compile and install Stunt Rally on Fedora

Stunt Rally is an open source racing game, one of a few available for Linux. It caught the attention of my son because it supports network mutiplayer mode as well as split screen multiplayer mode. As of writing this, there does not seem to exist an RPM package. There are SNAP and Flatpack packages which I have not tried. If you do not want those for any reason, you might find this compilation guide useful. Read more...


Feb 16, 2021
Grouping Quarkus extension tests for faster execution

Testing is a substantial ingredient of software quality. Projects producing Quarkus extensions are not an exception. While testing on traditional JVMs is rather fast and well understood, testing GraalVM native executables brings new challenges, especially because it takes long: It is one or more minutes for common test projects that we have in Camel Quarkus. Multiply it with our ~300 extensions and you end up with tens of hours for a single pass of the CI. Let’s discuss some ways how to speed up the native testing, esp. by merging several test modules into a single test module. Read more...


Jan 31, 2021
Using GraalVM native-image-agent when porting a library to Quarkus

I pondered a bit how GraalVM’s native-image-agent can be leveraged when writing Quarkus extensions. Even if the configuration produced by it won’t be 100% complete and relevant, it may give you a good initial impression where to look and which kinds of problems you need to solve. Read more...


Jan 12, 2021
mvnd tip: Solving common issues of parallel builds

In the previous mvnd tip, we have introduced mvnd's smart builder and explained how it works. Today, I’d like discuss various issues you may hit when migrating from Maven singlethreaded builder and I’ll propose some solutions. Read more...


Jan 11, 2021
mvnd tip: Parallel and non-parallel builds

Another tip that will serve as a base for the future mvnd documentation. Today about parallel and non-parallel builds. Read more...


Jan 8, 2021
mvnd tip: Shortcuts

I am starting to write these tips as a base for the future mvnd documentation. Today about keystrokes supported in the mvnd client UI. Read more...


Oct 29, 2020
When -DskipTests is not fast enough: skip Maven mojos properly

-DskipTests is a well known way to skip the execution of unit tests during a Maven build and thus save time. This is handy e.g. after pulling the changes from a team git repository which are supposed to have been tested by a CI already. Read more...


Aug 11, 2020
History of Camel Quarkus from the very beginning to 1.0.0

I have originally written this for the upcoming Camel Quarkus 1.0.0 announcement, but then decided to remove it from there based on some review comments. I still think the history deserves to be written somewhere, so I am pasting it here. Read more...


Jul 3, 2020
Resuming large Maven releases

I happen to have released large Maven projects with hundreds of modules many times in the past and I am doing it right now as well for Camel Quarkus. The current Camel Quarkus 1.0.0-CR3 release comprises 694 Maven modules. That’s rather big. Read more...