veganism.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Veganism Social is a welcoming space on the internet for vegans to connect and engage with the broader decentralized social media community.

Administered by:

Server stats:

293
active users

#gradle

3 posts3 participants1 post today

@britter Here is my challenge to you and every other #Gradle expert. I have a multi-module project built with Gradle but I am considering to redo it with Maven as Gradle is a real nightmare.

The project is rather simple. It builds a core module and then three "applications", a Gradle plugin, a Maven plugin and a CLI tool, each using the core module. Those should be built and in particular integration tested. The latter means that a test must execute successfully all three applications.

Honestly, I don't understand how people are productive with #ApacheMaven. I've just spend 2 hours debugging a build failure just to realize that this was again a case of "oh, I forgot to run clean". This really is justthe tip of the iceberg. You need to keep so much stuff in your head to make sure it das the right thing where with #Gradle you just call a task and it does the right thing for you.

For giggles I tried the prompt “Review the gradle build of this package and create a standalone zsh script which does not require #gradle to build the package. The script should build release and debug configs of all abis as well as universal, include signing and r8 optimization. Implement clean, compile, test, assemble and build targets. You may temporarily use gradle commands to resolve and download dependencies.”

Yes, I did this for “fun”. Now I am considering using the script ….

A recent discussion has led me to realize that many folks do not fully grok the parts of Gradle that can be made parallel. By default almost all of Gradle runs in a serial way.

So I wrote a post about it

liutikas.net/2025/07/29/Parall

www.liutikas.netParallel Bits - Which Parts of Gradle Run in ParallelBy default, nearly the entire invocation of Gradle is done serially, but there are ways to make it partially parallel.

Work is nearly completed on bringing 3 important features to the Infrastructure as Code Gradle plugin suite:

- Testing of OpenTofu / Terraform source.

- Publishing of OpenTofu / Terraform modules to a variety of targets, including the official registry process.

- Generation of documentation for OpenTofu / Terraform source sets and modules.

Finally testing and polishing of docs are underway and these features will be in the 2.1 release.

Just published a blog post on optimizing Gradle builds with Docker, Flyway, jOOQ & Postgres 🐘🐳🐦

I hit a weird issue where the DB started up even when everything was up-to-date. Turns out: Gradle task graphs & build services can be tricky!

Here’s how I fixed it with a cleaner setup 👇
britter.dev/blog/2025/07/22/gr

britter.devOptimizing Gradle Builds with Dockerized Databases, Flyway, and jOOQHow using a custom Gradle build service and rethinking task dependencies led to faster, cleaner builds in a Java backend project using Docker, Flyway, and jOOQ.
#gradle#docker#jooq
Continued thread

`net.ltgt.jooq` (and `net.ltgt.jooq-kotlin`) is an alternative to the official jOOQ plugin, or Etienne Studer's plugin, that unnecessarily bloat your build scripts with the generator configuration; also meant to be run at dev time with generated files committed to your repo.

github.com/tbroyer/gradle-jooq

GitHubGitHub - tbroyer/gradle-jooq-plugin: Gradle plugin for jOOQ code generationGradle plugin for jOOQ code generation. Contribute to tbroyer/gradle-jooq-plugin development by creating an account on GitHub.
Continued thread

`net.ltgt.flyway` is an alternative to the official Flyway plugin (that isn't actively maintained), for my use case of using it during development, on a local development database (Flyway being embedded in the app and used from there in production).

github.com/tbroyer/gradle-flyw

GitHubGitHub - tbroyer/gradle-flyway-plugin: Gradle plugin for FlywayDBGradle plugin for FlywayDB. Contribute to tbroyer/gradle-flyway-plugin development by creating an account on GitHub.
Continued thread

OKAY!
I figured it out.

(Duck.Ai was not much help, they kept suggesting file.exists() and file.isFile, which doesn't exist).

Behold, my "project" - the main amount of time was spent setting up the build systems!

But okay, it's pretty cool that with Kotlin DSL you can basically access the whole Java API to set up your build.

git.uvok.de/tuxguitar-songster

git.uvok.detuxguitar-songsterr-import - Attempt to write a TuxGuitar plugin for Songsterr

Create sample project with
gradle init --dsl kotlin --split-project --type java-library --java-version 17

Run
gradle build

Expect:
Example works out of the box

Actual:

build fails.
*Slow clap* Great, gradle, really great.

Continued thread

This is not a new tool or idea, but a set of good practices explained in a tool-independent way. I want to make the topic more approachable to Java newcomers, since most info on this is currently quite confusing.

For the talk, I built a special presentation app that lets me switch tools and highlight the important bits.

I’d love to share this at more events in Europe — suggestions welcome! An online video series is planned for later this year.

#Java#Gradle#Maven

How to do better Dependency Management in modern Java?

☕️ JAVA
📜 Recipe for
🌻 Carefree dependency
📚 Administration

👉 javarca.de

📣 I'll talk about it:

July 10th - Stuttgart @jugstuttgart
java-forum-stuttgart.de/vortra

Sep 16th - Hannover @JavaForumNord
javaforumnord.de/2025/programm

👾 If you clone, build, run the example (see: Explore > Readme) you get to play a little game. The high score is 3680, held by my son (and game tester)

#Java#Gradle#Maven

SOS

I need some technical help.

I’m trying to get an existing project compiling.

Running node.js on windows.
Using flutter and gradle to build.
I have the correct version of android studio installed.

When I try to compile gradle complains that it can’t find Java in a directory of an old uninstalled version of eclipse.

I can’t for the life of me figure out where that path is being set.