From f00e2ebcf3a84237827a4cbc2cfb1016d56063ad Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Fri, 15 Apr 2022 12:04:50 +0200 Subject: [PATCH] Update scala-js-cli to 1.1.1-sc4.1 --- build.sc | 16 ++++++++++++++-- .../internal/ModuleSplitStyleParserSubst.java | 14 ++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 scala-js-1.10+/src/org/scalajs/cli/internal/ModuleSplitStyleParserSubst.java diff --git a/build.sc b/build.sc index 0ff3b47..b01700e 100644 --- a/build.sc +++ b/build.sc @@ -7,14 +7,22 @@ import io.github.alexarchambault.millnativeimage.NativeImage import io.github.alexarchambault.millnativeimage.upload.Upload import mill._ import mill.scalalib._ +import coursier.core.Version -def scalaJsCliVersion = "1.1.1-sc3" +def scalaJsCliVersion = "1.1.1-sc4.1" def scalaJsVersions = Seq("1.9.0", "1.10.0") class ScalaJsCliNativeImage(val scalaJsVersion0: String) extends ScalaModule with NativeImage { def scalaVersion = "2.13.8" def scalaJsVersion = scalaJsVersion0 + def sources = T.sources { + val extra = + if (Version(scalaJsVersion) < Version("1.10")) Nil + else Seq(PathRef(os.pwd / "scala-js-1.10+" / "src")) + super.sources() ++ extra + } + def nativeImageClassPath = T{ runClasspath() } @@ -27,7 +35,8 @@ class ScalaJsCliNativeImage(val scalaJsVersion0: String) extends ScalaModule wit ) } def nativeImagePersist = System.getenv("CI") != null - def nativeImageGraalVmJvmId = "graalvm-java17:22.0.0" + def graalVmVersion = "22.0.0" + def nativeImageGraalVmJvmId = s"graalvm-java17:$graalVmVersion" def nativeImageName = "scala-js-ld" def ivyDeps = super.ivyDeps() ++ Seq( ivy"io.github.alexarchambault.tmp::scalajs-cli:$scalaJsCliVersion" @@ -35,6 +44,9 @@ class ScalaJsCliNativeImage(val scalaJsVersion0: String) extends ScalaModule wit .exclude(("org.scala-js", "scalajs-linker_2.13")), ivy"org.scala-js::scalajs-linker:$scalaJsVersion" ) + def compileIvyDeps = super.compileIvyDeps() ++ Seq( + ivy"org.graalvm.nativeimage:svm:$graalVmVersion" + ) def nativeImageMainClass = "org.scalajs.cli.Scalajsld" def nameSuffix = "" diff --git a/scala-js-1.10+/src/org/scalajs/cli/internal/ModuleSplitStyleParserSubst.java b/scala-js-1.10+/src/org/scalajs/cli/internal/ModuleSplitStyleParserSubst.java new file mode 100644 index 0000000..ca6bd81 --- /dev/null +++ b/scala-js-1.10+/src/org/scalajs/cli/internal/ModuleSplitStyleParserSubst.java @@ -0,0 +1,14 @@ +package org.scalajs.cli.internal; + +import com.oracle.svm.core.annotate.Substitute; +import com.oracle.svm.core.annotate.TargetClass; + +@TargetClass(className = "org.scalajs.cli.internal.ModuleSplitStyleParser") +final class ModuleSplitStyleParserSubst { + + @Substitute + ModuleSplitStyle parse(String splitStyle, String[] modulePackages) { + ModuleSplitStyleParser110Plus parser = new ModuleSplitStyleParser110Plus(); + return parser.parse(splitStyle, modulePackages); + } +}