diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index bc30a34..2e3baac 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -19,7 +19,7 @@ jobs:
security-events: write
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with: { java-version: '21', distribution: temurin }
- uses: github/codeql-action/init@v4
with: { languages: java, queries: +security-and-quality }
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 50c615e..66db813 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -170,7 +170,7 @@ jobs:
environment: maven-central
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with:
java-version: '21'
distribution: temurin
@@ -211,7 +211,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with:
java-version: '21'
distribution: temurin
@@ -247,7 +247,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with:
java-version: '21'
distribution: temurin
@@ -273,7 +273,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with:
java-version: '21'
distribution: temurin
@@ -343,7 +343,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with: { java-version: '21', distribution: temurin, cache: maven }
- name: Test under vmlens (one class — staged scope)
# VmlensInterleavingSmokeTest and the `vmlens` profile both live in
@@ -375,7 +375,7 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with: { java-version: '21', distribution: temurin }
# Only srcmorph's jacoco report is uploaded by the `test` job (see the comment there) —
# it carries the bulk of the test suite and the only PIT gate. Coveralls/Codecov are
@@ -427,7 +427,7 @@ jobs:
environment: maven-central
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with:
java-version: '21'
distribution: temurin
@@ -558,7 +558,7 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v7
- - uses: actions/setup-java@v5.6.0
+ - uses: actions/setup-java@v5
with:
java-version: '21'
distribution: temurin
diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml
index dcd44b6..b5c982f 100644
--- a/.github/workflows/sonarqube.yml
+++ b/.github/workflows/sonarqube.yml
@@ -18,7 +18,7 @@ jobs:
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 21
- uses: actions/setup-java@v5.6.0
+ uses: actions/setup-java@v5
with:
java-version: 21
distribution: 'zulu'
diff --git a/CLAUDE.md b/CLAUDE.md
index 2cf8caf..6ae0af7 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -474,6 +474,15 @@ classifier) and signs them via the cross-repo shared `.github/sign-fatjars.sh` (
java-llama.cpp). The convention + per-repo shapes + the classifier keep-in-sync rule are documented
in [`../workspace/policies/fat-jar-release-assets.md`](../workspace/policies/fat-jar-release-assets.md).
+## Dependency Convergence Pinning
+
+`dependencyConvergence` is enabled (maven-enforcer) in each of the 3 reactor modules;
+`jspecify`/`checker-qual` are pinned in the reactor parent's `dependencyManagement` (next to the
+existing `slf4j-api`/`logback-classic`/`jackson` pins) because `net.ladenthin:llama` brings both
+transitively. Convention + the `excludedScopes` gotcha + merge-discipline guidance (this repo's
+`main` was actually broken by exactly this pattern once — Dependabot PR #169) are in
+[`../workspace/policies/dependency-convergence-pinning.md`](../workspace/policies/dependency-convergence-pinning.md).
+
## Open TODOs
Open TODOs for this repo live in [`TODO.md`](TODO.md). Cross-repo status
diff --git a/pom.xml b/pom.xml
index 7668e99..93181b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -146,6 +146,29 @@ SPDX-License-Identifier: Apache-2.0
jackson-dataformat-yaml
${jackson.version}
+
+
+ org.jspecify
+ jspecify
+ 1.0.1
+
+
+
+ org.checkerframework
+ checker-qual
+ 4.2.2
+
diff --git a/srcmorph-cli/pom.xml b/srcmorph-cli/pom.xml
index 3c34780..3b17c2b 100644
--- a/srcmorph-cli/pom.xml
+++ b/srcmorph-cli/pom.xml
@@ -33,13 +33,15 @@ SPDX-License-Identifier: Apache-2.0
references it, and child properties are never visible to a
parent POM) — see srcmorph-parent/pom.xml. Not redeclared here.
-->
- 6.1.2
+ 6.1.3
3.0
2.50.0
0.13.8
- 1.0.1
- 4.2.1
- 1.4.2
+
+ 4.2.2
+ 1.5.0
4.10.3.0
1.18.46
7.7.4
@@ -51,9 +53,9 @@ SPDX-License-Identifier: Apache-2.0
@@ -66,12 +68,10 @@ SPDX-License-Identifier: Apache-2.0
org.jspecify
jspecify
- ${jspecify.version}
org.checkerframework
checker-qual
- ${checker.version}
- 6.1.2
+ 6.1.3
3.0
1.37
0.16
1.2.28
2.50.0
0.13.8
- 1.0.1
- 4.2.1
+
+ 4.2.2
- 1.4.2
+ 1.5.0
4.10.3.0
1.18.46
7.7.4
@@ -107,8 +109,9 @@ SPDX-License-Identifier: Apache-2.0
@@ -121,12 +124,10 @@ SPDX-License-Identifier: Apache-2.0
org.jspecify
jspecify
- ${jspecify.version}
org.checkerframework
checker-qual
- ${checker.version}
- 6.1.2
+ 6.1.3
3.0
3.7
2.50.0
0.13.8
- 1.0.1
- 4.2.1
+
+ 4.2.2
1.9.3
- 1.4.2
+ 1.5.0
4.10.3.0
1.18.46
7.7.4
@@ -65,8 +67,9 @@ SPDX-License-Identifier: Apache-2.0
@@ -79,12 +82,10 @@ SPDX-License-Identifier: Apache-2.0
org.jspecify
jspecify
- ${jspecify.version}
org.checkerframework
checker-qual
- ${checker.version}
net.ladenthin
@@ -243,7 +244,7 @@ SPDX-License-Identifier: Apache-2.0
org.pitest
pitest-maven
- 1.25.8
+ 1.25.9
org.sonatype.central