Repository navigation
Build and CI cleanup across all projects - #52
Conversation
- jnats-server-runner 3.1.1 in every project that uses it; chaos-runner ported off 2.0.2 onto the ClusterUtils/ClusterDefaults API - Gradle 8.14 for the six projects still on 6.8.3, with regenerated wrapper artifacts; pcgroups-cli left on 9.0.0 - those six aligned to the batch-publish template: coveralls dropped, bnd 7.1.0, test-retry 1.6.4, nexus-publish 2.0.0, junit 5.14.1 plus platform-launcher, equalsverifier 4.2.3, jacoco 0.8.12, xml.required, javadoc doLast removed - Automatic-Module-Name set to Bundle-Name on all ten published bundles; batch-publish bnd description and DocURL corrected - TARGET_COMPATIBILITY machinery and isMerge removed from all eleven build files - 21 workflows migrated to the synadia-io/workflows reusable workflows, 623 lines Claude-Session: https://claude.ai/code/session_01V5QAt1CFwPXNN8nSAqWdvX
|
Claude finished @scottf's task in 3m 56s —— View job PR Review: Build and CI Cleanup
Overall AssessmentThis is a well-scoped, mechanically thorough cleanup PR. The changes are large in volume but narrow in purpose — no logic rewrites, just infrastructure alignment. Two items worth tracking: Findings1.
2. Pre-existing NPE in
What looks correct
|
|
The findings about |
Build and CI work only. The batch-publish EOB / fast-ingest code is deliberately not here — it follows in a separate PR branched from this one.
Dependencies
jnats-server-runner3.1.1 in every project that uses it.NatsRunnerUtilsintoClusterUtils/ClusterDefaults, removedgetTemporaryJetStreamStoreDirBase(), renamedconnectCheckTries(0)toskipConnectValidate(), and movedsetDefaultOutputLevel. It asks forLocalHost.ip.hostexplicitly, because the 3.x default islocalhoston a Java 8 JVM and127.0.0.1elsewhere, and chaos-runner used to be127.0.0.1everywhere.Known issue, unchanged by this PR and recorded for later: on 3.1.x a cluster's JetStream store dir is not honored —
NatsServerRunnerre-parses thejetstreamblock fromconfigInsertsthroughJsConfig(List), which substitutes a fresh temp dir. Measured on Linux. 4.0.1 fixes it.Gradle
gradle wrapper --gradle-version 8.14— jar, properties,gradlew,gradlew.bat, byte-identical to the projects already on 8.14. pcgroups-cli stays on 9.0.0.xml.enabled→xml.required(removed in Gradle 8), and the javadocdoLastfavicon block removed.Unsupported class file major version 65and still reported success, producing a degraded report.Manifests
Automatic-Module-Namenow equalsBundle-Nameon all ten published bundles; four were missing it entirely, which left their module name derived from the jar filename. batch-publish's bndBundle-DescriptionandBundle-DocURLpointed at counters and are corrected.Build file cleanup
TARGET_COMPATIBILITYmachinery removed from all eleven build files. Nothing set it — not this repo's workflows, not the shared ones — so only the Java 8 artifact was ever published.targetCompatibilityis now a fixedJavaVersion.VERSION_1_8;jarAndArtifactNamestays as the artifact id, replacing thearchivesBaseNamethat Gradle 9 removes.isMergeremoved from the ten files that declared it. It was referenced in exactly one place — js-publish-extensions wrappednexusPublishinginif (isMerge || isRelease), a no-op guard. All eleven now configure it identically.Workflows
21 files across seven projects migrated to
synadia-io/workflows, 623 lines removed. Each file keeps itsname:andon:block byte-for-byte; only thejobs:block changed, to the same five-line caller counters already used. This retiresactions/checkout@v3,actions/setup-java@v3, theadoptdistribution, the second nats-server install method, and thesignArchivesreference that Gradle 9 breaks. pcgroups-cli keeps its own workflows since it publishes a distribution, not a library.The JDK question that previously blocked this is resolved: the shared workflow hardcodes JDK 21, and Gradle 6.8.3 cannot run on 21 at all — 8.14 can.
Verification
Everything below was run against the exact contents of this branch, checked out into a separate worktree, using
nats-server v2.15.0-dev:clean test jar javadocsucceeds in all eleven standalone projects, plus:pcgroups-cli:compileJavathrough its parent.healthzreturning to ok after each restart. Single-server mode likewise.🤖 Generated with Claude Code
https://claude.ai/code/session_01V5QAt1CFwPXNN8nSAqWdvX