diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 218819a8..2c50cde7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: # NOTE(olafurpg) Windows is not enabled because it times out due to reasons I don't understand. # os: [windows-latest, ubuntu-latest] os: [ubuntu-latest] - java: [8, 11, 17, 21] + java: [8, 11, 17, 21, 25] steps: - uses: actions/checkout@v4 @@ -48,7 +48,7 @@ jobs: with: distribution: "temurin" cache: "sbt" - java-version: 17 + java-version: 25 - uses: sbt/setup-sbt@v1 @@ -98,7 +98,7 @@ jobs: with: distribution: "temurin" cache: "sbt" - java-version: 17 + java-version: 25 - uses: sbt/setup-sbt@v1 @@ -123,7 +123,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: "temurin" - java-version: 11 + java-version: 25 cache: "sbt" - uses: sbt/setup-sbt@v1 @@ -140,7 +140,7 @@ jobs: strategy: fail-fast: false matrix: - java: [8, 11, 17, 21] + java: [8, 11, 17, 21, 25] steps: - uses: actions/checkout@v4 diff --git a/Dockerfile b/Dockerfile index 2bc748d7..f9b62118 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:17@sha256:6eca72bb4cd5fb8cd215f2579a4dfffd24b0f47effb6c868b7e92b7f0422fa9f +FROM eclipse-temurin:25 RUN apt-get update && apt-get install --yes jq wget curl zip unzip git python3 python3-pip autoconf automake libtool build-essential libtool make g++ diff --git a/build.sbt b/build.sbt index 81759210..afaebe8c 100644 --- a/build.sbt +++ b/build.sbt @@ -429,6 +429,17 @@ lazy val minimized21 = project .dependsOn(agent, javacPlugin) .disablePlugins(JavaFormatterPlugin) +lazy val minimized25 = project + .in(file("tests/minimized/.j25")) + .settings( + javaOnlySettings, + minimizedSettings, + javaToolchainVersion := "25", + javacOptions ++= javacModuleOptions + ) + .dependsOn(agent, javacPlugin) + .disablePlugins(JavaFormatterPlugin) + lazy val minimizedScala = project .in(file("tests/minimized-scala")) .settings( diff --git a/project/JavaToolchainPlugin.scala b/project/JavaToolchainPlugin.scala index d9db4fc1..1f83ee9c 100644 --- a/project/JavaToolchainPlugin.scala +++ b/project/JavaToolchainPlugin.scala @@ -42,7 +42,7 @@ object JavaToolchainPlugin extends AutoPlugin { javacOptions ++= bootclasspathSettings(javaToolchainVersion.value), javaOptions ++= bootclasspathSettings(javaToolchainVersion.value), fork := true, - javaToolchainVersion := "11", + javaToolchainVersion := "25", javaToolchainJvmIndex := None, javaHome := Some(getJavaHome(javaToolchainVersion.value, javaToolchainJvmIndex.value)) diff --git a/scip-java/src/main/scala/com/sourcegraph/scip_java/buildtools/ScipBuildTool.scala b/scip-java/src/main/scala/com/sourcegraph/scip_java/buildtools/ScipBuildTool.scala index 090612a5..9c88ca90 100644 --- a/scip-java/src/main/scala/com/sourcegraph/scip_java/buildtools/ScipBuildTool.scala +++ b/scip-java/src/main/scala/com/sourcegraph/scip_java/buildtools/ScipBuildTool.scala @@ -847,7 +847,7 @@ class ScipBuildTool(index: IndexCommand) extends BuildTool("SCIP", index) { processors: List[String] = Nil, javacOptions: List[String] = Nil, jvmOptions: List[String] = Nil, - jvm: String = "17", + jvm: String = "25", kind: String = "" ) private object Config { diff --git a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/JavaVersion.java b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/JavaVersion.java index 9bedd24b..af4c18c7 100644 --- a/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/JavaVersion.java +++ b/scip-semanticdb/src/main/java/com/sourcegraph/scip_semanticdb/JavaVersion.java @@ -23,6 +23,8 @@ public class JavaVersion { public static final int JAVA8_VERSION = 8; public static final int JAVA11_VERSION = 11; public static final int JAVA17_VERSION = 17; + public static final int JAVA21_VERSION = 21; + public static final int JAVA25_VERSION = 25; public static final int DEFAULT_JAVA_VERSION = JAVA8_VERSION; @SuppressWarnings("FieldCanBeLocal") @@ -49,6 +51,8 @@ public static int roundToNearestStableRelease(int version) { if (version <= JAVA8_VERSION) return JAVA8_VERSION; if (version <= JAVA11_VERSION) return JAVA11_VERSION; if (version <= JAVA17_VERSION) return JAVA17_VERSION; + if (version <= JAVA21_VERSION) return JAVA21_VERSION; + if (version <= JAVA25_VERSION) return JAVA25_VERSION; return version; } diff --git a/tests/buildTools/src/test/scala/tests/GradleBuildToolSuite.scala b/tests/buildTools/src/test/scala/tests/GradleBuildToolSuite.scala index 1228efaa..396aae5d 100644 --- a/tests/buildTools/src/test/scala/tests/GradleBuildToolSuite.scala +++ b/tests/buildTools/src/test/scala/tests/GradleBuildToolSuite.scala @@ -9,7 +9,7 @@ class Gradle_5_BuildToolSuite extends GradleBuildToolSuite(Gradle5) abstract class GradleBuildToolSuite(gradle: Tool.Gradle) extends GradleBuildToolSuiteBase(gradle) { - val allJava = List(8, 11, 17, 21) + val allJava = List(8, 11, 17, 21, 25) checkGradleBuild( "annotation-path", diff --git a/tests/unit/src/test/scala/tests/JavaVersionSuite.scala b/tests/unit/src/test/scala/tests/JavaVersionSuite.scala index 013cadcc..5f77f6b0 100644 --- a/tests/unit/src/test/scala/tests/JavaVersionSuite.scala +++ b/tests/unit/src/test/scala/tests/JavaVersionSuite.scala @@ -14,5 +14,6 @@ class JavaVersionSuite extends FunSuite { checkVersion("1.8.0_272", "8") checkVersion("11.0.9", "11") + checkVersion("25.0.2", "25") }