| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Test ReportTest Results
Code Coverage (Java 25)
Changed Class Coverage (35 classes)
|
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Backport of #4445 to the 26.x maintenance branch.
This also upgrades the Shadow Gradle plugin from 9.3.2 to 9.4.2 so the backport can retain the original artifact lifecycle configuration.
Summary
Artifact pipeline
The regular jar and shadowJar outputs are internal inputs to the cleanup pipeline. They now have explicit plain and shadow classifiers and live under build/intermediates, outside build/libs.
buildFinalJar is the only task that writes the unclassified binary JAR to build/libs. It consumes the annotation-cleaned class tree directly, so Gradle tracks the actual final archive instead of a temporary archive that is renamed in doLast.
The Java API and runtime variants both expose buildFinalJar. The Shadow Java variant and assemble hook are disabled, and shadowRuntimeElements is non-consumable, so dependency resolution cannot select the uncleaned intermediate. Direct signing, Maven Local publication, and remote publication all depend on verification of the final JAR.
This separation matters because multiple tasks previously owned the same output path. A direct shadowJar invocation could overwrite the cleaned JAR while Gradle still considered the cleanup/reassembly tasks up to date. Unique intermediate paths plus a single final producer remove that failure mode.
Verification
The cleanup currently removes 1,345 annotations from 330 shaded class files.
Artifact size
Both artifacts were built through their complete publication pipelines with the same fixed 999.0.0-size-test release version.
The uncompressed JAR contents decrease by 16,152 bytes. Both archives contain 2,394 entries, and their manifests are identical.