coursier / apps

40 stars 53 forks source link

`cs launch` for `scala` launches the compiler rather than runner for 3.5.0+ #243

Open Gedochao opened 1 month ago

Gedochao commented 1 month ago

So here's the thing.

cs launch scala:3.4.3 # (and below)
# <old scala runner is being called>
cs launch scala:3.5.0 # (and later)
# <scalac is being called>

This is a rather niche usage, but here we are, it is confusing. The cause for it is https://github.com/coursier/apps/pull/239, which is a (valid) fix for #238

Optimally, we'd like cs launch to pick up the new scala script here, but that's not possible from coursier/apps level, as cs launch currently only supports running a main class. We can run the old runner for 3.5.0+ with:

cs launch scala:3.5.0 -M dotty.tools.MainGenericRunner
# [warning] MainGenericRunner class is deprecated since Scala 3.5.0, and Scala CLI features will not work.
# [warning] Please be sure to update to the Scala CLI launcher to use the new features.
# [warning] Check the Scala 3.5.0 release notes to troubleshoot your installation.
# Welcome to Scala 3.5.0 (17, Java OpenJDK 64-Bit Server VM).
# Type in expressions for evaluation. Or try :help.
# 
# scala>