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