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
19 changes: 15 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The release procedure (prompt template and step-by-step instructions) lives in [

---

## [Unreleased]
## [1.1.1] - 2026-07-15

### Added
- **Reactor split**: the former single-module `llamacpp-ai-index-maven-plugin` is now a 3-module
Expand All @@ -25,7 +25,7 @@ The release procedure (prompt template and step-by-step instructions) lives in [
`@Parameter` property `aiIndex.*` → `srcmorph.*`). A new, independently-versioned relocation-stub
module/POM (`net.ladenthin:llamacpp-ai-index-maven-plugin:1.0.4`, no source, no dependencies, only
`<distributionManagement><relocation>`) keeps the old coordinates resolvable on Maven Central,
redirecting to `net.ladenthin:srcmorph-maven-plugin:1.1.0`.
redirecting to `net.ladenthin:srcmorph-maven-plugin:1.1.1`.
- New engine layer in `srcmorph` (`GenerateEngine`, `AggregatePackagesEngine`,
`AggregateProjectEngine`, `CalibrateEngine`) extracted from what used to be each mojo's
`execute()` body, plus a new shared root configuration object,
Expand Down Expand Up @@ -55,9 +55,19 @@ The release procedure (prompt template and step-by-step instructions) lives in [
the old coordinates are not broken: a new, independently-versioned relocation-stub artifact
(`net.ladenthin:llamacpp-ai-index-maven-plugin:1.0.4`, POM-only, no source/dependencies) is
published with a `<distributionManagement><relocation>` pointing at
`net.ladenthin:srcmorph-maven-plugin:1.1.0`, so Maven transparently redirects any build still
`net.ladenthin:srcmorph-maven-plugin:1.1.1`, so Maven transparently redirects any build still
declaring the old artifactId.

### Fixed
- **Sources-jar signing**: `maven-source-plugin`'s `attach-sources` execution was bound to the
`verify` phase instead of `package` in all three real modules. `maven-gpg-plugin`'s signing
execution is also bound to `verify`, and within the same phase execution order follows
declaration/inheritance order — the inherited gpg execution ran before the sources jar was
built, so it was silently omitted from every signed bundle. Rebound `attach-sources` to
`package` (its own goal default). Also gave the relocation-stub module a `<parent>` so it
inherits the release profile's signing/publishing plugins at all (it previously had none),
while keeping its own version pinned independently.

## [1.0.2] - 2026-07-02

### Changed
Expand Down Expand Up @@ -107,7 +117,8 @@ First public release on Maven Central. Pre-OpenSSF history themes (March–May 2

---

[Unreleased]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/compare/v1.0.2...HEAD
[Unreleased]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/compare/v1.1.1...HEAD
[1.1.1]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/compare/v1.0.2...v1.1.1
[1.0.2]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/compare/v1.0.1...v1.0.2
[1.0.1]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/releases/tag/v1.0.0
10 changes: 5 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@ 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.0` reactor release and the `1.0.4` relocation stub to Maven
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.

- **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.0` (single shared version across `srcmorph`, `srcmorph-cli`,
- **Reactor version:** `1.1.1` (single shared version across `srcmorph`, `srcmorph-cli`,
and `srcmorph-maven-plugin`; the relocation stub below is version-pinned independently)

---
Expand All @@ -38,7 +38,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.0 (packaging=pom)
├── pom.xml net.ladenthin:srcmorph-parent:1.1.1 (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 @@ -208,7 +208,7 @@ themselves.
A separate, minimal 4th reactor module — **not** a renamed copy of the plugin above, and not a
child of `srcmorph-parent` (no `<parent>` at all). Its entire `pom.xml` is `groupId` +
`artifactId` (`llamacpp-ai-index-maven-plugin`) + a version pinned independently at `1.0.4` +
`<distributionManagement><relocation>` pointing at `net.ladenthin:srcmorph-maven-plugin:1.1.0`.
`<distributionManagement><relocation>` pointing at `net.ladenthin:srcmorph-maven-plugin:1.1.1`.
No source, no tests, no dependencies. Its sole purpose is so a consumer still declaring the old
Maven coordinates gets redirected by Maven to the renamed plugin once both are published. Because
it is still listed in the root `<modules>` for aggregation, a reactor-wide `mvn versions:set` run
Expand Down Expand Up @@ -261,7 +261,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.0-jar-with-dependencies.jar examples/config_All.json
java -jar srcmorph-cli/target/srcmorph-cli-1.1.1-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
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ repository at the same version; the relocation stub is versioned and published i
<plugin>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-maven-plugin</artifactId>
<version>1.1.0</version>
<version>1.1.1</version>
<configuration>
<generationProvider>mock</generationProvider>
<promptDefinitions>
Expand Down Expand Up @@ -145,7 +145,7 @@ model recommendations: [`srcmorph-maven-plugin/README.md`](srcmorph-maven-plugin
<groupId>net.ladenthin</groupId>
<artifactId>llamacpp-ai-index-maven-plugin</artifactId>
<version>1.0.4</version>
<!-- Maven Central redirects this artifact to net.ladenthin:srcmorph-maven-plugin:1.1.0 via a
<!-- Maven Central redirects this artifact to net.ladenthin:srcmorph-maven-plugin:1.1.1 via a
published <distributionManagement><relocation> POM. Prefer declaring the new coordinates
above directly in new/updated POMs. -->
</plugin>
Expand All @@ -170,7 +170,7 @@ reference.
<dependency>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph</artifactId>
<version>1.1.0</version>
<version>1.1.1</version>
</dependency>
```

Expand Down 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.0`.
Current reactor version: `1.1.1`.

## A Note on History

Expand Down
6 changes: 3 additions & 3 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ recorded in git history and `crossrepostatus.md`, not here.
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.0` release** (tag + `mvn -P
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").
Expand All @@ -36,10 +36,10 @@ recorded in git history and `crossrepostatus.md`, not here.
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.0`) was added back to the root `<modules>` list so
`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.0` reactor release and the `1.0.4` relocation stub to Maven Central is
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
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.0-jar-with-dependencies.jar) and changes on every version bump, so
rem srcmorph-cli-1.1.1-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.0-jar-with-dependencies.jar) and changes on every version bump, so the
# srcmorph-cli-1.1.1-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.0-jar-with-dependencies.jar) and changes on every version bump, so
rem srcmorph-cli-1.1.1-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.0-jar-with-dependencies.jar) and changes on every version bump, so the
# srcmorph-cli-1.1.1-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.0-jar-with-dependencies.jar) and changes on every version bump, so
rem srcmorph-cli-1.1.1-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.0-jar-with-dependencies.jar) and changes on every version bump, so the
# srcmorph-cli-1.1.1-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.0-jar-with-dependencies.jar) and changes on every version bump, so
rem srcmorph-cli-1.1.1-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.0-jar-with-dependencies.jar) and changes on every version bump, so the
# srcmorph-cli-1.1.1-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
6 changes: 3 additions & 3 deletions llamacpp-ai-index-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ SPDX-License-Identifier: Apache-2.0
Declaring <parent> does NOT tie this module's own <version> to the parent's: a child project
may freely override <version> (and <artifactId>) — only omitting it inherits the parent's
value. This module's <version> below stays pinned independently at 1.0.4, unaffected by the
reactor's own version (currently 1.1.0 in ../pom.xml).
reactor's own version (currently 1.1.1 in ../pom.xml).

That independence is NOT automatic against tooling, though: `mvn versions:set -DnewVersion=X`
run from the repo root walks every module reachable via the root <modules> list — parent
Expand All @@ -50,7 +50,7 @@ SPDX-License-Identifier: Apache-2.0
<parent>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-parent</artifactId>
<version>1.1.0</version>
<version>1.1.1</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand All @@ -66,7 +66,7 @@ SPDX-License-Identifier: Apache-2.0
<relocation>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-maven-plugin</artifactId>
<version>1.1.0</version>
<version>1.1.1</version>
</relocation>
</distributionManagement>
</project>
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.0</version>
<version>1.1.1</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.0</version>
<version>1.1.1</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-15T20:07:58Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-07-15T22:33:37Z</project.build.outputTimestamp>
</properties>

<!--
Expand Down
2 changes: 1 addition & 1 deletion srcmorph-maven-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ The plugin is configured from three building blocks, declared on the plugin insi
<plugin>
<groupId>net.ladenthin</groupId>
<artifactId>srcmorph-maven-plugin</artifactId>
<version>1.1.0</version>
<version>1.1.1</version>

<configuration>
<!-- outputDirectory defaults to ${project.basedir}/src/site/ai -->
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.0</version>
<version>1.1.1</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-15T20:07:58Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-07-15T22:33:37Z</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.0</version>
<version>1.1.1</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-15T20:07:58Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-07-15T22:33:37Z</project.build.outputTimestamp>
</properties>

<!--
Expand Down
Loading