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
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ To use the latest snapshot, add the repository and dependency to your `pom.xml`:
<dependency>
<groupId>net.ladenthin</groupId>
<artifactId>llama</artifactId>
<version>5.0.4-SNAPSHOT</version>
<version>5.0.5-SNAPSHOT</version>
</dependency>
```

Expand Down Expand Up @@ -719,7 +719,7 @@ forcing that floor on every core consumer. It ships and versions in lockstep wit
<dependency>
<groupId>net.ladenthin</groupId>
<artifactId>llama-langchain4j</artifactId>
<version>5.0.4-SNAPSHOT</version>
<version>5.0.4</version>
</dependency>
```

Expand Down
58 changes: 26 additions & 32 deletions docs/RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,31 @@
# Release Process

This document is the maintainer-facing release procedure. End users should consult [CHANGELOG.md](../CHANGELOG.md).
The maintainer-facing release procedure is **centralized in the workspace repo**:
[`../workspace/workflows/release-process.md`](../workspace/workflows/release-process.md).

> Paste this prompt into a new Claude Code session, fill in the three placeholders, and send it to perform a release.
java-llama.cpp is a **Maven reactor**, so two repo-specific points extend the canonical procedure.

## Reactor version bump (all three poms)

The root `pom.xml` is the parent (`net.ladenthin:llama-parent`); the `llama/` and
`llama-langchain4j/` modules inherit its version **but hardcode it in their `<parent><version>`**
(there is no `${revision}` single-sourcing). A version change — the release strip in Step 1 and the
post-release bump in Step 3 — must touch **all three poms in lockstep**, or the reactor build fails
with `Could not find artifact net.ladenthin:llama-parent:pom:{VERSION}`. Use:

```bash
mvn -q versions:set -DnewVersion={VERSION} -DgenerateBackupPoms=false
```
Release `{PROJECT}` to Maven Central.

**Step 1 — Prepare the release (do immediately):**
1. Read the current version from `pom.xml` on `main` — it will be `{VERSION}-SNAPSHOT`
2. Strip `-SNAPSHOT` from `pom.xml` (→ `{VERSION}`)
3. In `README.md`, update **both**:
- The release dependency example to `{VERSION}`
- The snapshot dependency example to `{VERSION}-SNAPSHOT` (it should already match, but verify)
4. Commit both files directly to `main` (no pull request)

**Step 2 — Wait for manual confirmation:**
I will create the `v{VERSION}` tag and GitHub release manually — wait for me to confirm
the release is published on Maven Central before proceeding.

**Step 3 — Post-release snapshot bump (after my confirmation):**
Bump **both** files on `main`:
- `pom.xml` → `{NEXT_VERSION}-SNAPSHOT`
- `README.md` snapshot dependency example → `{NEXT_VERSION}-SNAPSHOT`
(the release dependency examples stay at the just-released `{VERSION}`)

Commit both changes together directly to `main`.

**Placeholders:**

| Placeholder | Value |
|------------------|----------------------------------------------|
| `{PROJECT}` | *(project name)* |
| `{VERSION}` | *(release version, e.g. `1.3.0`)* |
| `{NEXT_VERSION}` | *(next snapshot base, e.g. `1.3.1`)* |
```

from the repo root — it updates the root `<version>` plus both children's `<parent><version>` at
once. See the "Version bump" note in [CLAUDE.md](../CLAUDE.md) for the rationale.

## Extra README dependency snippet

Besides the root `README.md`, the `llama-langchain4j/README.md` `## Dependency` section carries a
**release** dependency snippet that must also be set to `{VERSION}` in Step 1 — it is not covered by
the root-README edits and drifts silently otherwise (the release examples stay at `{VERSION}` on the
Step 3 snapshot bump).

One reactor `mvn -P release deploy` signs and publishes the parent pom, `llama`, and
`llama-langchain4j` together at the same version.
2 changes: 1 addition & 1 deletion llama-langchain4j/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ ScoringModel reranker = new JllamaScoringModel(rerankLlama);
<dependency>
<groupId>net.ladenthin</groupId>
<artifactId>llama-langchain4j</artifactId>
<version>5.0.4-SNAPSHOT</version>
<version>5.0.4</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion llama-langchain4j/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
<parent>
<groupId>net.ladenthin</groupId>
<artifactId>llama-parent</artifactId>
<version>5.0.4</version>
<version>5.0.5-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion llama/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ SPDX-License-Identifier: MIT
<parent>
<groupId>net.ladenthin</groupId>
<artifactId>llama-parent</artifactId>
<version>5.0.4</version>
<version>5.0.5-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 @@ -19,7 +19,7 @@ SPDX-License-Identifier: MIT
-->
<groupId>net.ladenthin</groupId>
<artifactId>llama-parent</artifactId>
<version>5.0.4</version>
<version>5.0.5-SNAPSHOT</version>
<packaging>pom</packaging>

<name>${project.groupId}:${project.artifactId}</name>
Expand Down
Loading