You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What is needed to update to Scala 2.13 or 3 and make it work with exercism.
I am sure someone will do that in a PR but its likely a little more involved than just updating the build.sbt in each exercise?
The sbt-test-runner must be updated too?
Can you provide some directions?
I downloaded isogram via CLI and the build.sbt was set to scalaVersion := "2.12.8". The Metals extension in vscode reported that 2.12.8 may not work in future versions of Metals and that Scala should be updated to at least 2.12.12. I jumped through some hoops, some of them probably unnecessary, and after being prompted to download/import a couple files the build.sbt was set to scalaVersion := "2.12.14".
I then looked at several previously downloaded Scala exercises and they all had scalaVersion := "2.12.14" already.
Just to inform you that updating the Scala version is appreciated and, at least for the vscode Metals extension, somewhat needed.
Ideally, we'd upgrade to Scala 3 as that should give us a bit of a performance bump that might actually get the test runner to run within the allotted time. I have no idea how hard it would be to upgrade to Scala 3 though.
Should be pretty easy to update the exercises to work with Scala 3. Just need to update the version numbers in the build.sbt file, and the imports in the test files. Also you need to use sbt version 1.5.x +.
This is the script I run to do the above conversions (I don't think the build.properties bit is actually relevant to the downloads but it's something I ran into where it was set by IntelliJ if I tried to import the module before running sbt from the terminal first).
It works in 95% of cases but there are a few odd cases where there are imports of Scalaz or I think the one involving an optics library, that need a bit of manual intervention. Also I remember 1 case where a test used procedure syntax (def xyz {}) which is now deprecated.
To pick up a draggable item, press the space bar.
While dragging, use the arrow keys to move the item.
Press space again to drop the item in its new position, or press escape to cancel.
Test Generators
Docs
scala test-runner project
To pick up a draggable item, press the space bar.
While dragging, use the arrow keys to move the item.
Press space again to drop the item in its new position, or press escape to cancel.
Activity
ErikSchierboom commentedon Jun 22, 2021
There are a couple of things that need to be done:
bobahop commentedon Sep 4, 2021
I'm guessing this a work in progress?
I downloaded
isogram
via CLI and thebuild.sbt
was set toscalaVersion := "2.12.8"
. The Metals extension in vscode reported that 2.12.8 may not work in future versions of Metals and that Scala should be updated to at least 2.12.12. I jumped through some hoops, some of them probably unnecessary, and after being prompted to download/import a couple files thebuild.sbt
was set toscalaVersion := "2.12.14"
.I then looked at several previously downloaded Scala exercises and they all had
scalaVersion := "2.12.14"
already.Just to inform you that updating the Scala version is appreciated and, at least for the vscode Metals extension, somewhat needed.
ErikSchierboom commentedon Sep 7, 2021
Ideally, we'd upgrade to Scala 3 as that should give us a bit of a performance bump that might actually get the test runner to run within the allotted time. I have no idea how hard it would be to upgrade to Scala 3 though.
luigip commentedon Oct 14, 2021
Should be pretty easy to update the exercises to work with Scala 3. Just need to update the version numbers in the build.sbt file, and the imports in the test files. Also you need to use sbt version 1.5.x +.
I wrote a blog about it (including some tips for working with IntelliJ) at http://luigip.atwebpages.com/?p=275
This is the script I run to do the above conversions (I don't think the build.properties bit is actually relevant to the downloads but it's something I ran into where it was set by IntelliJ if I tried to import the module before running sbt from the terminal first).
It works in 95% of cases but there are a few odd cases where there are imports of Scalaz or I think the one involving an optics library, that need a bit of manual intervention. Also I remember 1 case where a test used procedure syntax (
def xyz {}
) which is now deprecated.ErikSchierboom commentedon Oct 14, 2021
@luigip That sounds great! Would you be willing to submit a PR?
2.13
and scalatest to version3.2.10
#712LarsWestergren commentedon Aug 21, 2022
I'm willing to try this.
ErikSchierboom commentedon Aug 23, 2022
@LarsWestergren Thanks a ton!
asarkar commentedon Dec 20, 2023
Hi, I'm planning to start the Scala track and wanted to check if there is any interest in moving forward with this ticket.
ErikSchierboom commentedon Jan 2, 2024
Definitely! I see that you also posted at #734 (comment), which is great!