From 19a0fa4cef47ea6a78900e6e0e175ea1e4043a4c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 15 Jul 2026 23:17:25 +0000 Subject: [PATCH] Bump reactor to 1.2.0-SNAPSHOT for continued development after 1.1.1 The v1.1.1 release published successfully (Publish Release to Central, Attach Binaries jobs both green on run 29456928729) - srcmorph, srcmorph-cli, and srcmorph-maven-plugin are now live on Maven Central at 1.1.1, with the llamacpp-ai-index-maven-plugin relocation stub at 1.0.4 pointing to it. This opens the next development cycle with a safety net: main no longer sits at a version matching a published release. `mvn versions:set -DnewVersion=1.2.0-SNAPSHOT -Dexcludes=net.ladenthin:llamacpp-ai-index-maven-plugin` for the three real modules. The relocation stub's own stays at 1.0.4; its target correctly remains 1.1.1 (the actual last release) since versions:set doesn't touch that field and there's nothing newer published yet to point at. Docs updated with care to distinguish "current dev pom state" (now 1.2.0-SNAPSHOT: CLAUDE.md's reactor-version line and repo tree, the local-build CLI jar-name examples, README's snapshot-builds line) from "what a consumer should actually depend on" (stays 1.1.1: the Maven plugin quickstart snippet, the library dependency snippet, the relocation-target callouts - all still point at the real released version, not the in-development snapshot). Removed TODO.md's now-stale step-8/step-9 entries (the release they were tracking as "still open" is done); kept the still-relevant versions:set exclusion caveat. CHANGELOG.md gets a fresh empty [Unreleased] section above [1.1.1]. --- CHANGELOG.md | 2 ++ CLAUDE.md | 13 ++++----- README.md | 2 +- TODO.md | 37 +------------------------- examples/run_all.bat | 2 +- examples/run_all.sh | 2 +- examples/run_calibrate.bat | 2 +- examples/run_calibrate.sh | 2 +- examples/run_generate.bat | 2 +- examples/run_generate.sh | 2 +- examples/run_plan.bat | 2 +- examples/run_plan.sh | 2 +- llamacpp-ai-index-maven-plugin/pom.xml | 2 +- pom.xml | 2 +- srcmorph-cli/pom.xml | 4 +-- srcmorph-maven-plugin/pom.xml | 4 +-- srcmorph/pom.xml | 4 +-- 17 files changed, 27 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be24448..de7b33a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ The release procedure (prompt template and step-by-step instructions) lives in [ --- +## [Unreleased] + ## [1.1.1] - 2026-07-15 ### Added diff --git a/CLAUDE.md b/CLAUDE.md index add79a7..4fd6f64 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,15 +22,16 @@ coordinates, package, goal prefix, and every `@Parameter` property changed in th write `aiIndex.*` properties, the `ai-index` goal prefix, or the `net.ladenthin.maven.llamacpp.aiindex` package in new documentation or code; use `srcmorph.*`, `srcmorph`, and `net.ladenthin.maven.srcmorph.mojo` instead (see the plugin module's own section -below). Actually publishing the `1.1.1` reactor release and the `1.0.4` relocation stub to Maven -Central remains a separate, later action by the user. +below). The `1.1.1` reactor release and the `1.0.4` relocation stub were published to Maven +Central; development on `main` now continues at the next SNAPSHOT version. - **Group ID:** `net.ladenthin` - **Java:** target bytecode 1.8 (production code), Java 21 test sources, built with JDK 21 - **License:** Apache 2.0 - **Author:** Bernard Ladenthin (Copyright 2026) -- **Reactor version:** `1.1.1` (single shared version across `srcmorph`, `srcmorph-cli`, - and `srcmorph-maven-plugin`; the relocation stub below is version-pinned independently) +- **Reactor version:** `1.2.0-SNAPSHOT` (single shared version across `srcmorph`, `srcmorph-cli`, + and `srcmorph-maven-plugin`; the relocation stub below is version-pinned independently). Last + released version: `1.1.1`. --- @@ -38,7 +39,7 @@ Central remains a separate, later action by the user. ``` llamacpp-ai-index-maven-plugin/ (repo root; reactor parent) -├── pom.xml net.ladenthin:srcmorph-parent:1.1.1 (packaging=pom) +├── pom.xml net.ladenthin:srcmorph-parent:1.2.0-SNAPSHOT (packaging=pom) │ shared build plugins + dependencyManagement + release profile ├── srcmorph/ CORE LIBRARY net.ladenthin:srcmorph (Java 8, Maven-API-free) │ └── src/main/java/net/ladenthin/srcmorph/ @@ -261,7 +262,7 @@ mvn -pl srcmorph-maven-plugin srcmorph:generate -P srcmorph-selftest ```bash mvn -pl srcmorph-cli package -java -jar srcmorph-cli/target/srcmorph-cli-1.1.1-jar-with-dependencies.jar examples/config_All.json +java -jar srcmorph-cli/target/srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar examples/config_All.json ``` See `examples/` (repo root) for ready-to-run `config_*.json`/`.yaml` + paired `run_*.sh`/`.bat` diff --git a/README.md b/README.md index 75eba33..3c92129 100644 --- a/README.md +++ b/README.md @@ -210,7 +210,7 @@ Snapshots are published to the Central Snapshots repository on every push to `ma https://central.sonatype.com/repository/maven-snapshots/net/ladenthin/ ``` -Current reactor version: `1.1.1`. +Current reactor version: `1.2.0-SNAPSHOT`. Last released version: `1.1.1`. ## A Note on History diff --git a/TODO.md b/TODO.md index a5cc4fe..a623ddc 100644 --- a/TODO.md +++ b/TODO.md @@ -7,42 +7,7 @@ recorded in git history and `crossrepostatus.md`, not here. ## Open -- **Migration step 8 — CI full pass + first reactor release.** `.github/workflows/publish.yml` - is now adapted to the 3-module reactor (module names as of that step; the plugin module has - since been renamed `srcmorph-maven-plugin` in step 9 below, and CI was updated to match): the - `build` job uploads jars from all three modules - (`srcmorph` / `srcmorph-cli`, including its `jar-with-dependencies` fat jar / the plugin module); - crash-dump globs are repo-wide (`**/hs_err_pid*.log` etc., since a forked surefire JVM can crash - in any module's own working directory); the PIT step is scoped to `-pl srcmorph -am` (the only - module with a `pitest-maven` execution) with its report glob at `srcmorph/target/pit-reports/**`; - the `vmlens` job is scoped to `-pl srcmorph-maven-plugin -am` (where - `VmlensInterleavingSmokeTest` and the `vmlens` profile actually live — not relocated during the - core extraction) and additionally passes `-Dsurefire.failIfNoSpecifiedTests=false` (the - `-DfailIfNoTests=false` flag alone does not suppress the "-Dtest pattern matched nothing" - failure that `-am` now triggers in the upstream `srcmorph` module); jdeps prints a graph per - module; and Coveralls/Codecov are pointed at `srcmorph`'s jacoco report only (the - single-primary-module precedent already used by the sibling java-llama.cpp reactor — `srcmorph-cli` - and the plugin module's own coverage is not currently aggregated or uploaded). `mvn -q clean - verify` and a `-P release verify -DskipTests -Dgpg.skip=true` dry run (package/sources/javadoc - jars for all three modules + the CLI fat jar, no `.asc` files since signing was skipped) both - pass locally. **Still open: actually cutting the first real `1.1.1` release** (tag + `mvn -P - release deploy` with real credentials) — that action was deliberately left to the user, not - performed as part of this CI-adaptation step. This is the gate the user asked for before step 9 - ("if all is working stat I can safely do the final rename"). - -- **Migration step 9 — plugin rename + Maven Central relocation. DONE (structurally; publishing is - still the user's own later action).** The former `llamacpp-ai-index-maven-plugin` module was - renamed to `srcmorph-maven-plugin` (`net.ladenthin:srcmorph-maven-plugin`, goal prefix `srcmorph`, - package `net.ladenthin.maven.srcmorph.mojo`, properties `aiIndex.*` → `srcmorph.*`), and a new, - independent relocation-stub module `llamacpp-ai-index-maven-plugin/` (pom-only, no ``, - pinned at version `1.0.4`, only `` pointing at - `net.ladenthin:srcmorph-maven-plugin:1.1.1`) was added back to the root `` list so - existing consumers resolving the old coordinates get redirected once it is actually published. - This is the last, isolated step of the migration in terms of code/POM structure — actually - publishing both the `1.1.1` reactor release and the `1.0.4` relocation stub to Maven Central is - still the user's own action (this task never ran `mvn deploy` or signed anything). - - **Caveat — exclude the stub from reactor-wide version bumps.** Because the relocation stub is +- **Caveat — exclude the stub from reactor-wide version bumps.** Because the relocation stub is listed in the root ``, a `mvn versions:set -DnewVersion=X -DgenerateBackupPoms=false` run from the repo root walks every module reachable from that list — including the stub — and would overwrite its frozen `1.0.4` unless explicitly excluded: diff --git a/examples/run_all.bat b/examples/run_all.bat index ac2d0a9..5cb5e78 100644 --- a/examples/run_all.bat +++ b/examples/run_all.bat @@ -8,7 +8,7 @@ rem AggregatePackages, AggregateProject). Uses the mock provider, so no GGUF mod rem point generationProvider at "llamacpp-jni" and set a real modelPath to run a model. rem rem The fat jar's file name is version-qualified (e.g. -rem srcmorph-cli-1.1.1-jar-with-dependencies.jar) and changes on every version bump, so +rem srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar) and changes on every version bump, so rem the loop below picks whichever one was last built by "mvn package" in ..\srcmorph-cli. setlocal cd /d "%~dp0" diff --git a/examples/run_all.sh b/examples/run_all.sh index e63a523..05b45c8 100755 --- a/examples/run_all.sh +++ b/examples/run_all.sh @@ -8,7 +8,7 @@ # point generationProvider at "llamacpp-jni" and set a real modelPath to run a model. # # The fat jar's file name is version-qualified (e.g. -# srcmorph-cli-1.1.1-jar-with-dependencies.jar) and changes on every version bump, so the +# srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar) and changes on every version bump, so the # glob below picks whichever one was last built by `mvn package` in ../srcmorph-cli. set -euo pipefail cd "$(dirname "$0")" diff --git a/examples/run_calibrate.bat b/examples/run_calibrate.bat index 4a95976..a175da7 100644 --- a/examples/run_calibrate.bat +++ b/examples/run_calibrate.bat @@ -9,7 +9,7 @@ rem this is a no-op smoke check; swap generationProvider to "llamacpp-jni" and s rem modelPath to calibrate an actual GGUF model on this machine. rem rem The fat jar's file name is version-qualified (e.g. -rem srcmorph-cli-1.1.1-jar-with-dependencies.jar) and changes on every version bump, so +rem srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar) and changes on every version bump, so rem the loop below picks whichever one was last built by "mvn package" in ..\srcmorph-cli. setlocal cd /d "%~dp0" diff --git a/examples/run_calibrate.sh b/examples/run_calibrate.sh index c287e68..69d9683 100755 --- a/examples/run_calibrate.sh +++ b/examples/run_calibrate.sh @@ -9,7 +9,7 @@ # calibrate an actual GGUF model on this machine. # # The fat jar's file name is version-qualified (e.g. -# srcmorph-cli-1.1.1-jar-with-dependencies.jar) and changes on every version bump, so the +# srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar) and changes on every version bump, so the # glob below picks whichever one was last built by `mvn package` in ../srcmorph-cli. set -euo pipefail cd "$(dirname "$0")" diff --git a/examples/run_generate.bat b/examples/run_generate.bat index 3430d56..4583877 100644 --- a/examples/run_generate.bat +++ b/examples/run_generate.bat @@ -8,7 +8,7 @@ rem and fill in their AI-generated summary bodies). Uses the mock provider, so n rem required - point generationProvider at "llamacpp-jni" and set a real modelPath to run a model. rem rem The fat jar's file name is version-qualified (e.g. -rem srcmorph-cli-1.1.1-jar-with-dependencies.jar) and changes on every version bump, so +rem srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar) and changes on every version bump, so rem the loop below picks whichever one was last built by "mvn package" in ..\srcmorph-cli. setlocal cd /d "%~dp0" diff --git a/examples/run_generate.sh b/examples/run_generate.sh index ce8de59..9890046 100755 --- a/examples/run_generate.sh +++ b/examples/run_generate.sh @@ -8,7 +8,7 @@ # required - point generationProvider at "llamacpp-jni" and set a real modelPath to run a model. # # The fat jar's file name is version-qualified (e.g. -# srcmorph-cli-1.1.1-jar-with-dependencies.jar) and changes on every version bump, so the +# srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar) and changes on every version bump, so the # glob below picks whichever one was last built by `mvn package` in ../srcmorph-cli. set -euo pipefail cd "$(dirname "$0")" diff --git a/examples/run_plan.bat b/examples/run_plan.bat index 6cb992a..9b49893 100644 --- a/examples/run_plan.bat +++ b/examples/run_plan.bat @@ -8,7 +8,7 @@ rem GenerateFileIndex phase with planOnly forced true by the Plan command) - no rem and nothing is written. Safe to run with no GGUF model on disk (generationProvider is "mock"). rem rem The fat jar's file name is version-qualified (e.g. -rem srcmorph-cli-1.1.1-jar-with-dependencies.jar) and changes on every version bump, so +rem srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar) and changes on every version bump, so rem the loop below picks whichever one was last built by "mvn package" in ..\srcmorph-cli. setlocal cd /d "%~dp0" diff --git a/examples/run_plan.sh b/examples/run_plan.sh index fdd6b80..5b0f1d0 100755 --- a/examples/run_plan.sh +++ b/examples/run_plan.sh @@ -8,7 +8,7 @@ # nothing is written. Safe to run with no GGUF model on disk (generationProvider is "mock"). # # The fat jar's file name is version-qualified (e.g. -# srcmorph-cli-1.1.1-jar-with-dependencies.jar) and changes on every version bump, so the +# srcmorph-cli-1.2.0-SNAPSHOT-jar-with-dependencies.jar) and changes on every version bump, so the # glob below picks whichever one was last built by `mvn package` in ../srcmorph-cli. set -euo pipefail cd "$(dirname "$0")" diff --git a/llamacpp-ai-index-maven-plugin/pom.xml b/llamacpp-ai-index-maven-plugin/pom.xml index 43ebb8f..40c3d45 100644 --- a/llamacpp-ai-index-maven-plugin/pom.xml +++ b/llamacpp-ai-index-maven-plugin/pom.xml @@ -50,7 +50,7 @@ SPDX-License-Identifier: Apache-2.0 net.ladenthin srcmorph-parent - 1.1.1 + 1.2.0-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 40519f8..1007b4f 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ SPDX-License-Identifier: Apache-2.0 net.ladenthin srcmorph-parent - 1.1.1 + 1.2.0-SNAPSHOT pom ${project.groupId}:${project.artifactId} diff --git a/srcmorph-cli/pom.xml b/srcmorph-cli/pom.xml index cd80c39..a724b9d 100644 --- a/srcmorph-cli/pom.xml +++ b/srcmorph-cli/pom.xml @@ -13,7 +13,7 @@ SPDX-License-Identifier: Apache-2.0 net.ladenthin srcmorph-parent - 1.1.1 + 1.2.0-SNAPSHOT ../pom.xml @@ -47,7 +47,7 @@ SPDX-License-Identifier: Apache-2.0 3.8.0 2.94.0 - 2026-07-15T22:33:37Z + 2026-07-15T23:12:53Z - 2026-07-15T22:33:37Z + 2026-07-15T23:12:53Z diff --git a/srcmorph/pom.xml b/srcmorph/pom.xml index e46942c..ab4807a 100644 --- a/srcmorph/pom.xml +++ b/srcmorph/pom.xml @@ -13,7 +13,7 @@ SPDX-License-Identifier: Apache-2.0 net.ladenthin srcmorph-parent - 1.1.1 + 1.2.0-SNAPSHOT ../pom.xml @@ -61,7 +61,7 @@ SPDX-License-Identifier: Apache-2.0 3.8.0 2.94.0 - 2026-07-15T22:33:37Z + 2026-07-15T23:12:53Z