jPOS Gradle Plugin 0.0.17
We just released version 0.0.17 of the jPOS Gradle Plugin. This release brings two meaningful improvements and a toolchain upgrade.
extraPaths for distnc / zipnc tasks
The distnc and zipnc tasks produce a "no-config" distribution archive — binaries and JARs, without environment-specific cfg/ or deploy/ files. That's useful for packaging the immutable part of your app separately from configuration.
Until now those tasks only included src/dist/bin/. If your project ships additional static assets — documentation, HTML files, static resources, or web content — they were silently left out.
You can now declare extra directories to include:
jpos {
extraPaths = ['html', 'docs', 'webroot']
}
Each entry is a path relative to src/dist/. Token replacement and the same binary-file handling (images, PDFs, WARs are copied raw; text files go through @token@ substitution) apply to extra paths exactly as they do to the rest of the distribution.
Git repository discovery fix
GitRevisionTask — the task that writes revision.properties — previously used Git.open(projectDir), which requires the Gradle project root to be exactly the git repository root. This caused silent revision=unknown output (or worse, task failures) in multi-module setups where the Gradle root sits inside a larger repository.
The task now uses FileRepositoryBuilder.findGitDir(), which walks up the directory tree to locate .git, exactly the way the git CLI itself does. Worktrees and nested modules all work correctly. And when no git repository is found at all (non-git projects), the task now logs a WARN instead of silently swallowing the error.
Toolchain upgrade
The plugin itself now builds with Java 25.0.2-amzn and Gradle 9.4.0.
How to upgrade
plugins {
id 'org.jpos.jposapp' version '0.0.17'
}
