diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5fca66ca39..1fd0a9ce81 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - name: Copy launcher run: ./mill -i copyJvmLauncher artifacts/ if: runner.os == 'Linux' @@ -63,7 +63,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - name: Generate native launcher run: ./mill -i show defaultNativeImage - name: Build OS packages @@ -93,7 +93,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - name: Generate native launcher run: ./mill -i show cli.nativeImageMostlyStatic - name: Build docker image @@ -131,7 +131,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - name: Generate native launcher run: ./mill -i show cli.nativeImageStatic - name: Copy artifacts @@ -156,12 +156,12 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - name: Test documentation run: .github/scripts/check_docs.sh - name: Test gifs - run: gifs/generate_gifs.sh $(ls gifs/scenarios/) + run: gifs/generate_gifs.sh $(ls gifs/scenarios/) checks: timeout-minutes: 15 @@ -174,7 +174,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - name: Check native-image config format run: ./mill -i __.checkNativeImageConfFormat - name: Check Ammonite availability @@ -198,7 +198,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 apps: scalafmt:3.0.0 - run: scalafmt --check @@ -213,7 +213,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - name: Check that reference doc is up-to-date run: | ./mill -i generate-reference-doc.run --check || ( @@ -235,7 +235,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - run: ./mill -i ci.copyVcRedist - uses: actions/upload-artifact@v2.2.4 with: @@ -256,7 +256,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - name: GPG setup run: .github/scripts/gpg-setup.sh env: @@ -282,7 +282,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - run: ./mill -i ci.setShouldPublish - uses: actions/download-artifact@v2 if: env.SHOULD_PUBLISH == 'true' @@ -307,7 +307,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - uses: actions/download-artifact@v2 with: name: launchers @@ -353,7 +353,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - run: ./mill -i ci.setShouldPublish - uses: actions/setup-node@v2.4.1 if: env.SHOULD_PUBLISH == 'true' @@ -379,7 +379,7 @@ jobs: - uses: coursier/cache-action@v6.3 - uses: coursier/setup-action@v1.1.2 with: - jvm: 8 + jvm: 11 - uses: actions/setup-node@v2.4.1 with: node-version: '12.x' diff --git a/build.sc b/build.sc index b81101a34f..ea92f3304c 100644 --- a/build.sc +++ b/build.sc @@ -435,7 +435,8 @@ class Runner(val crossScalaVersion: String) extends CrossSbtModule with ScalaCli super.scalacOptions() ++ { if (scalaVersion().startsWith("2.")) Seq("-Ywarn-unused") else Nil - } + } ++ Seq("-release", "8") + } def mainClass = Some("scala.cli.runner.Runner") def ivyDeps = @@ -474,7 +475,7 @@ class TestRunner(val crossScalaVersion: String) extends CrossSbtModule with Scal super.scalacOptions() ++ { if (scalaVersion().startsWith("2.")) Seq("-Ywarn-unused", "-deprecation") else Nil - } + } ++ Seq("-release", "8") } def ivyDeps = super.ivyDeps() ++ Agg( Deps.asm, @@ -524,12 +525,13 @@ class BloopRifle(val crossScalaVersion: String) extends CrossSbtModule with Scal class TastyLib(val crossScalaVersion: String) extends CrossSbtModule with ScalaCliPublishModule with ScalaCliScalafixModule { - def scalacOptions = T { + def scalacOptions = T( super.scalacOptions() ++ { if (scalaVersion().startsWith("2.")) Seq("-Ywarn-unused") else Nil - } - } + } ++ Seq("-release", "8") + ) + } object `local-repo` extends LocalRepo { diff --git a/modules/integration/src/test/scala/scala/cli/integration/NativePackagerTests.scala b/modules/integration/src/test/scala/scala/cli/integration/NativePackagerTests.scala index 02f32b1393..34685c4f21 100644 --- a/modules/integration/src/test/scala/scala/cli/integration/NativePackagerTests.scala +++ b/modules/integration/src/test/scala/scala/cli/integration/NativePackagerTests.scala @@ -214,7 +214,7 @@ class NativePackagerTests extends munit.FunSuite { // format: off val cmd = Seq[os.Shellable]( TestUtil.cli, - "package", helloWorldFileName, + "package", "--jvm", "8", helloWorldFileName, "--docker", "--docker-image-repository", imageRepository, "--docker-image-tag", imageTag diff --git a/modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala b/modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala index f836580fd5..3090cc4c83 100644 --- a/modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala +++ b/modules/integration/src/test/scala/scala/cli/integration/RunTestDefinitions.scala @@ -1141,4 +1141,15 @@ abstract class RunTestDefinitions(val scalaVersionOpt: Option[String]) } } + test("Runs with JVM 8") { + val inputs = TestInputs( + Seq( + os.rel / "run.scala" -> """object Main extends App { println("hello")}""" + ) + ) + inputs.fromRoot { root => + val p = os.proc(TestUtil.cli, "run.scala", "--jvm", "8").call(cwd = root) + expect(p.out.text().trim == "hello") + } + } } diff --git a/modules/integration/src/test/scala/scala/cli/integration/TestTestDefinitions.scala b/modules/integration/src/test/scala/scala/cli/integration/TestTestDefinitions.scala index 2c9062ff52..c400bae010 100644 --- a/modules/integration/src/test/scala/scala/cli/integration/TestTestDefinitions.scala +++ b/modules/integration/src/test/scala/scala/cli/integration/TestTestDefinitions.scala @@ -509,5 +509,4 @@ abstract class TestTestDefinitions(val scalaVersionOpt: Option[String]) expect(output.contains("Hello from native")) } } - } diff --git a/website/docs/commands/package.md b/website/docs/commands/package.md index 46035ceb47..5eaa12a3fd 100644 --- a/website/docs/commands/package.md +++ b/website/docs/commands/package.md @@ -35,7 +35,7 @@ scala-cli package Hello.scala -o hello # Hello ``` - @@ -114,7 +114,7 @@ The docker image name parameter `--docker-image-repository` is mandatory. The following command generates a `hello-docker` image with the `latest` tag: ```bash -scala-cli package --docker HelloDocker.scala --docker-image-repository hello-docker +scala-cli package --jvm 8 --docker HelloDocker.scala --docker-image-repository hello-docker ```