VirtusLab / scala-cli

Scala CLI is a command-line tool to interact with the Scala language. It lets you compile, run, test, and package your Scala code (and more!)
https://scala-cli.virtuslab.org
Apache License 2.0
546 stars 128 forks source link

cannot change scala.js version to 1.8.0 #534

Closed scalway closed 1 year ago

scalway commented 2 years ago

after pasting command:

$scala-cli --js --js-version=1.8.0 ./examples/scala-js/foojs.sc 

such exception is thrown:

Compiling project (Scala 3.0.2, Scala.JS)
Compiled project (Scala 3.0.2, Scala.JS)
Exception in thread "main" org.scalajs.ir.IRVersionNotSupportedException: Failed to deserialize a file compiled with Scala.js 1.8 (supported up to: 1.7): /home/slovic/.cache/coursier/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-library_2.13/1.8.0/scalajs-library_2.13-1.8.0.jar:/scala/volatile.sjsir
    at org.scalajs.linker.interface.unstable.IRFileImpl$$anonfun$withPathExceptionContext$1.applyOrElse(IRFileImpl.scala:62)
    at org.scalajs.linker.interface.unstable.IRFileImpl$$anonfun$withPathExceptionContext$1.applyOrElse(IRFileImpl.scala:58)
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38)
    at scala.util.Failure.recover(Try.scala:234)
    at scala.concurrent.Future.$anonfun$recover$1(Future.scala:395)
    at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33)
    at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:33)
    at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
    at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
    at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:567)
    at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
Caused by: org.scalajs.ir.IRVersionNotSupportedException: This version (1.8) of Scala.js IR is not supported. Supported versions are up to 1.7
    at org.scalajs.ir.VersionChecks.checkSupported(ScalaJSVersions.scala:77)
    at org.scalajs.ir.Serializers$Deserializer.readHeader(Serializers.scala:1010)
    at org.scalajs.ir.Serializers$Deserializer.deserializeEntryPointsInfo(Serializers.scala:969)
    at org.scalajs.ir.Serializers$.$anonfun$deserializeEntryPointsInfo$1(Serializers.scala:52)
    at org.scalajs.ir.Serializers$.withBigEndian(Serializers.scala:67)
    at org.scalajs.ir.Serializers$.deserializeEntryPointsInfo(Serializers.scala:52)
    at org.scalajs.linker.standard.MemIRFileImpl.$anonfun$entryPointsInfo$1(MemIRFile.scala:31)
    at org.scalajs.linker.standard.MemIRFileImpl.$anonfun$withBuffer$1(MemIRFile.scala:39)
    at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:659)
    at scala.util.Success.$anonfun$map$1(Try.scala:255)
    at scala.util.Success.map(Try.scala:213)
    at scala.concurrent.Future.$anonfun$map$1(Future.scala:292)
    ... 11 more

It seams that scala version doesn't matter. I guess it is also not important right now.

lwronski commented 1 year ago

@scalway Thank for reporting. It should be fixed from Scala CLI 0.2.1.