livellosegreto.it is one of the many independent Mastodon servers you can use to participate in the fediverse.
Livello Segreto è il social etico che ha rispetto di te e del tuo tempo.

Administered by:

Server stats:

1.2K
active users

#cicd

3 posts3 participants0 posts today

Maven 4: Still XML. Still boring. Still Winning.

What's so ugly about Maven?
Oh, right, XML. The ancient language feared by the hipster cult of Gradle.

But let's be honest:
You don't write build files every day. You come back after months, forget everything, and now… you're debugging a Groovy poem.
Maven? You squint at the XML, and boom. Autocomplete, structure, sanity.

Maven 4? Still XML. Still boring. Still… Winning at automations.
Yes there are more features, and yes you can use other DSL's than XML with polyglot or any other extension like also before.
Something new and interesting could be the BOM packaging and requirement of java 17. You can always build lower stuff also with 17. It's simply Java.

My killer feature of Maven:
👉 Stable, sandboxed plugins, run directly from the command line. No need to create bloated build files.
No copy-pasting the same config into 12 submodules and repositories.
All automated. All under my control.
No need to depend on the next third party cloud elf named like dependabot.
Or an SDK Man for switching java versions.
All I need is simply a JAR file and a build tool which does not disrupt me.

✨ Favourite Maven Spells - aka plugins running on my CI without defining them:
mvn wrapper:wrapper - Because of consistency, no jar binary inside my repo.
mvn dependency:tree - See who brought the uninvited guests.
mvn versions:update-properties - Auto-update without the bots.
mvn license:add-third-party - keep track of used licenses
mvn org.owasp:dependency-check-maven:check - Security without sacrifice.
[...]

Stop waiting for the next shiny thing, you can always contribute to any tool.
Start building. Or better automate it.

#Maven4#maven#cicd

Check out my latest blog post on how I was able to run a QEMU/KVM virtual machine in a GitHub Actions workflow to test my app EtchDroid.

In the true spirit of DevOps, this setup automates testing of complex interactions with hardware, eliminating the need for manual testing and freeing up valuable time for the fun parts: innovation and development of new functionality.

By bridging virtualization and CI/CD, this work demonstrates how modern DevOps practices can streamline development workflows and improve software quality.

Read more here: blog.depau.eu/2025/04/05/andro

Also check out my app EtchDroid: etchdroid.app/

Davide Depau’s Blog · Testing Android apps USB communication on GitHub Actions with QEMU/KVMMany years ago, I started developing EtchDroid as a hobby, free-software project born out of necessity. EtchDroid is a simple app for writing images to USB drives from an Android device without requiring root access. Over the years, it has become popular, proving useful and reliable for many users. I’m really proud of it. Unfortunately, the same can’t be said for Android’s USB APIs, USB drives, USB OTG adapters, USB ports, and Android devices. Some time ago, I decided to address this issue by adding an essential feature: the ability to resume writing whenever the process is interrupted. I’ve rewritten the app’s UI and backend to support this feature. Now, it’s not only prettier and more user-friendly, but it’s also more reliable than ever.