Build classifier fat jars for GitHub releases, exclude fat jar from Central - #159
Merged
bernardladenthin merged 1 commit intoJul 24, 2026
Merged
Conversation
…m Central The srcmorph-cli fat jar (jar-with-dependencies) was attached and deployed to Maven Central on every release (a 74 MB artifact bundling the net.ladenthin:llama native). A jar-with-dependencies on Central is redundant — consumers depend on the plain jar + its resolved graph — and it only ever carried the default CPU native, so there was no GPU-accelerated variant anywhere. - srcmorph-cli/pom.xml: set <attach>false</attach> on the assembly execution, so the fat jar is still built into target/ but is neither installed to ~/.m2 nor deployed to Central. - publish.yml (publish-release + publish-snapshot): collect the deploy-signed plain/sources/javadoc jars first (excluding the now-unsigned fat jar), then build one srcmorph-cli fat jar per net.ladenthin:llama native classifier (the full <classifier> set from java-llama.cpp, all published on Central) plus the default all-platform CPU fat jar, GPG-sign each, and attach them to the GitHub Release. The default CPU build runs last so the unsuffixed jar is the run-anywhere CPU variant; each classifier variant is named srcmorph-cli-<version>-jar-with-dependencies-<classifier>.jar and runs only on its own OS/arch/backend. - srcmorph-cli/README.md: document that the fat jars live on GitHub Releases (with .asc), the CPU default vs the per-backend GPU classifier variants. Verified locally: attach=false still produces the fat jar; the default build is 74 MB (all CPU natives) and a vulkan-linux-x86-64 build is 25 MB (single backend), confirming the classifier override bundles the right native. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TJzCezSnQ8FxpFdeVxYxQY
bernardladenthin
temporarily deployed
to
startgate
July 24, 2026 04:39 — with
GitHub Actions
Inactive
bernardladenthin
had a problem deploying
to
maven-central
July 24, 2026 04:39 — with
GitHub Actions
Failure
bernardladenthin
had a problem deploying
to
maven-central
July 24, 2026 04:39 — with
GitHub Actions
Failure
bernardladenthin
deleted the
claude/bitcoinaddressfinder-jar-upload-k0tkj7
branch
July 24, 2026 04:58
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
<attach>false</attach>on themaven-assembly-pluginto prevent the fat jar from being deployed to Maven Central. The fat jar bundles platform-specificnet.ladenthin:llamanative binaries and is redundant on Central (consumers depend on the plain jar + resolved dependency graph).publish-snapshotandpublish-releasejobs to build and GPG-sign one fat jar pernet.ladenthin:llamaGPU classifier (cuda13, vulkan, opencl, rocm, sycl, openvino, msvc variants) plus the default CPU-only variant. These are GitHub-Release-only assets, never deployed to Central.cpcommands with a loop that explicitly excludes*-jar-with-dependencies.jarfiles, since those are now handled by the new classifier-fat-jar build step that runs after.srcmorph-cli/README.mdto explain where to download the fat jars (GitHub Releases, not Central) and clarify the classifier variants for GPU acceleration.Test plan
target/bymvn packagebut not installed/deployed when<attach>false</attach>is setRelated issues / PRs
N/A
Checklist
CONTRIBUTING.mdandCODE_OF_CONDUCT.mdhttps://claude.ai/code/session_01TJzCezSnQ8FxpFdeVxYxQY