diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be06c75..73c23d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 with: distribution: temurin - java-version: 21 + java-version: 25 - uses: gradle/actions/setup-gradle@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5 diff --git a/CLAUDE.md b/CLAUDE.md index e6fac4a..47e1a44 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,7 +9,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ./gradlew check # Lint (ktlint) + test (Spek2) ``` -JDK 21+ required. Tests use snapshot testing (snapshots in `src/test/resources/__snapshot__/`). +JDK 25+ required. Tests use snapshot testing (snapshots in `src/test/resources/__snapshot__/`). ## Architecture diff --git a/build.gradle.kts b/build.gradle.kts index 457e316..0607dd2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -36,7 +36,7 @@ dependencies { } kotlin { - jvmToolchain(21) + jvmToolchain(25) } application { diff --git a/renovate.json b/renovate.json index fc4c748..fae8139 100644 --- a/renovate.json +++ b/renovate.json @@ -1,5 +1,29 @@ { "extends": ["github>henrist/renovate-config:default"], "automerge": true, - "automergeType": "branch" + "automergeType": "branch", + "customManagers": [ + { + "customType": "regex", + "fileMatch": ["build\\.gradle\\.kts$"], + "matchStrings": ["jvmToolchain\\((?\\d+)\\)"], + "depNameTemplate": "java", + "datasourceTemplate": "java-version", + "extractVersionTemplate": "^(?\\d+)" + }, + { + "customType": "regex", + "fileMatch": ["^\\.github/workflows/[^/]+\\.yml$"], + "matchStrings": ["java-version:\\s*(?\\d+)"], + "depNameTemplate": "java", + "datasourceTemplate": "java-version", + "extractVersionTemplate": "^(?\\d+)" + } + ], + "packageRules": [ + { + "groupName": "jdk", + "matchPackageNames": ["eclipse-temurin", "java"] + } + ] }