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
17 changes: 8 additions & 9 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,11 @@ 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). The `1.2.0` reactor release was published to Maven Central from the `v1.2.0` tag. **`main`
currently sits at the plain release version `1.3.0`, not a `-SNAPSHOT`** — step 1 of
`docs/RELEASE.md` (bump to the release version) is done and the `v1.3.0` tag has not been cut yet.
Step 6 moves `main` on to the next `-SNAPSHOT` *after* the release: `main` must never again carry a
version matching something already published, so a `-SNAPSHOT` on `main` is the normal state between
releases, just not right now.
below). The `1.3.0` reactor release was published to Maven Central from the `v1.3.0` tag, and `main`
has since been moved on to `1.4.0-SNAPSHOT` (step 6 of `docs/RELEASE.md`). **A `-SNAPSHOT` on `main`
is the normal state between releases** — `main` sits at a plain release version only in the short
window between the release bump and the tag, which is exactly why that step exists: `main` must
never again carry a version matching something already published.

**A fourth module existed temporarily**: a tiny relocation-stub POM
(`net.ladenthin:llamacpp-ai-index-maven-plugin`, pinned at `1.0.4`, only a
Expand All @@ -41,8 +40,8 @@ keep carrying it (and its `versions:set` exclusion footgun) in active developmen
- **Java:** target bytecode 1.8 (production code), Java 21 test sources, built with JDK 25
- **License:** Apache 2.0
- **Author:** Bernard Ladenthin (Copyright 2026)
- **Reactor version:** `1.3.0` (single shared version across `srcmorph`, `srcmorph-cli`,
and `srcmorph-maven-plugin`). Last released version: `1.2.0`.
- **Reactor version:** `1.4.0-SNAPSHOT` (single shared version across `srcmorph`, `srcmorph-cli`,
and `srcmorph-maven-plugin`). Last released version: `1.3.0`.

---

Expand Down Expand Up @@ -309,7 +308,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.3.0-jar-with-dependencies.jar examples/config_All.json
java -jar srcmorph-cli/target/srcmorph-cli-1.4.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 @@ -223,7 +223,7 @@ on `main` with `publish_to_central` checked — not automatically on push:
https://central.sonatype.com/repository/maven-snapshots/net/ladenthin/
```

Current reactor version: `1.3.0`. Last released version: `1.2.0`.
Current reactor version: `1.4.0-SNAPSHOT`. Last released version: `1.3.0`.

## A Note on History

Expand Down
17 changes: 11 additions & 6 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,23 @@ everything below is genuinely still open.
no AMD, Intel or second GPU here. Vulkan is reachable on any NVIDIA box and is the cheapest one to
add next.

- **Follow java-llama.cpp and drop the per-classifier fat jars? (owner's decision)** Since its
- **Drop the fat jars in 1.4.0 (owner's decision, 2026-10-26).** 1.3.0 is the last release with
fat jars on GitHub; they were never on Central (`<attach>false</attach>`, `--maven-only`, and no
`"central": true` in `.github/release-assets.json`), so removing them touches only the GitHub
release. Users build their own jar locally, as `examples/windows-fatjar` shows. Since its
modular natives java-llama.cpp ships no fat jar at all: the thin jar on Central is the deliverable,
a GPU is `jbang --deps net.ladenthin:llama:<v>:<classifier> …`, and its smoke jobs launch the
published jars on the classpath a consumer resolves. The same shape fits `srcmorph-cli`
(`jbang net.ladenthin:srcmorph-cli:<v> config.json` resolves slf4j-simple and llama-platform from its
pom; a GPU is one more `--deps` jar) and would remove the 14 signed classifier fat jars per release,
the loop above and the structural-only check. It would also close a gap the current shape has: the
pom; a GPU is one more `--deps` jar). Removing them drops the default and 14 signed classifier fat
jars per release, the build loop in `publish.yml`, `sign-fatjars.sh`, `verify-classifier-fatjars.sh`
and `.github/release-assets.json`'s file rules. It also closes a gap the current shape has: the
artifact `smoke-fatjar` launches is the fat jar built by the `build` job (a GitHub asset, rebuilt by
the publish jobs' loop), while the `srcmorph-cli` jar that goes to Central is never launched by any
job -- a smoke over the thin jar plus its resolved runtime classpath (what java-llama.cpp's smoke
sets are) would test what is published. Decide before the next release that bumps to a published
llama 6.0.0; the classifier list is current for 6.0.0 either way.
job. The smoke has to move to the thin jar plus its resolved runtime classpath (what
java-llama.cpp's smoke sets are), so it tests what is published. `README.md`,
`srcmorph-cli/README.md`, `CLAUDE.md` and the eight `examples/run_*` scripts that name the fat jar
go with it.

- **jqwik pin policy** — see [`../workspace/policies/jqwik-prompt-injection.md`](../workspace/policies/jqwik-prompt-injection.md). `jqwik.version ≤ 1.9.3` is mandatory (declared in `srcmorph/pom.xml`, the only reactor module with a jqwik test dependency).

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.3.0</version>
<version>1.4.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.3.0</version>
<version>1.4.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down Expand Up @@ -62,7 +62,7 @@ SPDX-License-Identifier: Apache-2.0
<spotless.version>3.10.4</spotless.version>
<palantir-java-format.version>2.102.0</palantir-java-format.version>

<project.build.outputTimestamp>2026-10-26T20:05:59Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-10-26T20:11:27Z</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.3.0</version>
<version>1.4.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

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

<project.build.outputTimestamp>2026-10-26T20:05:59Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-10-26T20:11:27Z</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.3.0</version>
<version>1.4.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down Expand Up @@ -88,7 +88,7 @@ SPDX-License-Identifier: Apache-2.0
<spotless.version>3.10.4</spotless.version>
<palantir-java-format.version>2.102.0</palantir-java-format.version>

<project.build.outputTimestamp>2026-10-26T20:05:59Z</project.build.outputTimestamp>
<project.build.outputTimestamp>2026-10-26T20:11:27Z</project.build.outputTimestamp>
</properties>

<!--
Expand Down
Loading