diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c331db7..354af7a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,12 +24,7 @@ jobs: matrix: os: [ubuntu-latest] scala: [3.3.8] - java: - - temurin@8 - - temurin@11 - - temurin@17 - - temurin@21 - - temurin@25 + java: [temurin@17, temurin@21, temurin@25] runs-on: ${{ matrix.os }} steps: - name: Checkout current branch (full) @@ -37,22 +32,6 @@ jobs: with: fetch-depth: 0 - - name: Setup Java (temurin@8) - if: matrix.java == 'temurin@8' - uses: actions/setup-java@v5 - with: - distribution: temurin - java-version: 8 - cache: sbt - - - name: Setup Java (temurin@11) - if: matrix.java == 'temurin@11' - uses: actions/setup-java@v5 - with: - distribution: temurin - java-version: 11 - cache: sbt - - name: Setup Java (temurin@17) if: matrix.java == 'temurin@17' uses: actions/setup-java@v5 @@ -81,7 +60,7 @@ jobs: uses: sbt/setup-sbt@v1 - name: Check that workflows are up to date - run: sbt '++ ${{ matrix.scala }}' githubWorkflowCheck + run: sbt --client '++ ${{ matrix.scala }}; githubWorkflowCheck' - name: test run: sbt Test/compile diff --git a/build.sbt b/build.sbt index b5f2b89..dbb41bd 100644 --- a/build.sbt +++ b/build.sbt @@ -6,13 +6,14 @@ val scala3 = "3.3.8" ThisBuild / scalaVersion := scala3 // GitHub Actions config -val javaVersions = Seq(8, 11, 17, 21, 25).map(v => JavaSpec.temurin(v.toString)) +val javaVersions = Seq(17, 21, 25).map(v => JavaSpec.temurin(v.toString)) ThisBuild / githubWorkflowJavaVersions := javaVersions ThisBuild / githubWorkflowArtifactUpload := false ThisBuild / githubWorkflowBuildMatrixFailFast := Some(false) ThisBuild / githubWorkflowTargetBranches := Seq("main") ThisBuild / githubWorkflowPublishTargetBranches := Seq() +ThisBuild / githubWorkflowUseSbtThinClient := true ThisBuild / githubWorkflowBuild := Seq( WorkflowStep.Run(List("sbt Test/compile"), name = Some("test")), @@ -37,12 +38,12 @@ val publishSettings = Seq( s3PublishBucket := "bondlink-maven-repo", ) -def baseProj(id: String, nme: String) = - sbt.internal.ProjectMatrix(id, file(id)) +def baseProj(matrix: ProjectMatrix, nme: String) = + matrix .jvmPlatform(scalaVersions = Seq(scala2, scala3)) .settings(baseSettings ++ Seq(name := nme)) -lazy val disableToStringPlugin = baseProj("plugin", "disable-to-string-plugin") +lazy val disableToStringPlugin = baseProj(projectMatrix.in(file("plugin")), "disable-to-string-plugin") .settings(publishSettings ++ Seq( libraryDependencies += foldScalaV(scalaVersion.value)( "org.scala-lang" % "scala-compiler", @@ -52,9 +53,10 @@ lazy val disableToStringPlugin = baseProj("plugin", "disable-to-string-plugin") val testSettings = baseSettings ++ Seq( scalacOptions ++= Def.taskDyn { + val conv = fileConverter.value val scalaV = scalaVersion.value Def.task { - val jar = (disableToStringPlugin.jvm(scalaV) / Compile / Keys.`package`).value + val jar = conv.toPath((disableToStringPlugin.jvm(scalaV) / Compile / Keys.`package`).value).toFile Seq( s"-Xplugin:${jar.getAbsolutePath}", s"-Jdummy$name=${jar.lastModified}", @@ -69,14 +71,14 @@ val testSettings = baseSettings ++ Seq( Compile / unmanagedSourceDirectories += (ThisBuild / baseDirectory).value / "tests" / "src" / "main" / "scala", ) -lazy val testAllOption = baseProj("test-all-option", "test-all-option") +lazy val testAllOption = baseProj(projectMatrix.in(file("test-all-option")), "test-all-option") .settings(testSettings) .settings( scalacOptions += "-P:disableToString:all", ) .aggregate(disableToStringPlugin) -lazy val testLiteralOption = baseProj("test-literal-option", "test-literal-option") +lazy val testLiteralOption = baseProj(projectMatrix.in(file("test-literal-option")), "test-literal-option") .settings(testSettings) .settings( scalacOptions ++= Seq( @@ -89,7 +91,7 @@ lazy val testLiteralOption = baseProj("test-literal-option", "test-literal-optio ) .aggregate(disableToStringPlugin) -lazy val testRegexOption = baseProj("test-regex-option", "test-regex-option") +lazy val testRegexOption = baseProj(projectMatrix.in(file("test-regex-option")), "test-regex-option") .settings(testSettings) .settings( scalacOptions += "-P:disableToString:regex=^(scala\\.Boolean|scala\\.Int|bl\\.(Foo|Bar|testObj\\.Baz))$", diff --git a/project/build.properties b/project/build.properties index 7c1916d..666624a 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.12.12 +sbt.version=2.0.0 diff --git a/project/plugins.sbt b/project/plugins.sbt index ee5d15f..2928be7 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,6 +1,5 @@ resolvers += "bondlink-maven-repo" at "https://maven.bondlink-cdn.com" addSbtPlugin("bondlink" % "sbt-s3-publish" % "0.0.1") -addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % "0.11.0") addSbtPlugin("com.github.sbt" % "sbt-github-actions" % "0.30.0") addSbtPlugin("org.typelevel" % "sbt-tpolecat" % "0.5.6")