Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ The release procedure (prompt template and step-by-step instructions) lives in [

---

## [Unreleased]

## [1.1.1] - 2026-07-15

### Added
Expand Down
13 changes: 7 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,24 @@ 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`.

---

## Repository layout — Maven reactor

```
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/
Expand Down Expand Up @@ -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`
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
37 changes: 1 addition & 36 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<parent>`,
pinned at version `1.0.4`, only `<distributionManagement><relocation>` pointing at
`net.ladenthin:srcmorph-maven-plugin:1.1.1`) was added back to the root `<modules>` 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 `<modules>`, 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:
Expand Down
2 changes: 1 addition & 1 deletion examples/run_all.bat
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion examples/run_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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")"
Expand Down
2 changes: 1 addition & 1 deletion examples/run_calibrate.bat
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion examples/run_calibrate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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")"
Expand Down
2 changes: 1 addition & 1 deletion examples/run_generate.bat
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion examples/run_generate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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")"
Expand Down
2 changes: 1 addition & 1 deletion examples/run_plan.bat
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion examples/run_plan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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")"
Expand Down
2 changes: 1 addition & 1 deletion llamacpp-ai-index-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ SPDX-License-Identifier: Apache-2.0
<parent>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-parent</artifactId>
<version>1.1.1</version>
<version>1.2.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ SPDX-License-Identifier: Apache-2.0

<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-parent</artifactId>
<version>1.1.1</version>
<version>1.2.0-SNAPSHOT</version>
<packaging>pom</packaging>

<name>${project.groupId}:${project.artifactId}</name>
Expand Down
4 changes: 2 additions & 2 deletions srcmorph-cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ SPDX-License-Identifier: Apache-2.0
<parent>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-parent</artifactId>
<version>1.1.1</version>
<version>1.2.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down Expand Up @@ -47,7 +47,7 @@ SPDX-License-Identifier: Apache-2.0
<spotless.version>3.8.0</spotless.version>
<palantir-java-format.version>2.94.0</palantir-java-format.version>

<project.build.outputTimestamp>2026-07-15T22:33:37Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-07-15T23:12:53Z</project.build.outputTimestamp>
</properties>

<!--
Expand Down
4 changes: 2 additions & 2 deletions srcmorph-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ SPDX-License-Identifier: Apache-2.0
<parent>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-parent</artifactId>
<version>1.1.1</version>
<version>1.2.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down Expand Up @@ -89,7 +89,7 @@ SPDX-License-Identifier: Apache-2.0
<exp.pkgPrompt>package-body</exp.pkgPrompt>
-->

<project.build.outputTimestamp>2026-07-15T22:33:37Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-07-15T23:12:53Z</project.build.outputTimestamp>

</properties>

Expand Down
4 changes: 2 additions & 2 deletions srcmorph/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ SPDX-License-Identifier: Apache-2.0
<parent>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-parent</artifactId>
<version>1.1.1</version>
<version>1.2.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down Expand Up @@ -61,7 +61,7 @@ SPDX-License-Identifier: Apache-2.0
<spotless.version>3.8.0</spotless.version>
<palantir-java-format.version>2.94.0</palantir-java-format.version>

<project.build.outputTimestamp>2026-07-15T22:33:37Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-07-15T23:12:53Z</project.build.outputTimestamp>
</properties>

<!--
Expand Down
Loading