scalacenter / scala3-migrate   0.7.1

Contributors Wanted Apache License 2.0 Website GitHub

A tool to help migrating from Scala 2 to Scala 3

Scala versions: 2.13 2.12
sbt plugins: 1.x

scala3-migrate Latest version Build status

Scala 3 migration plugin for sbt

User documentation

The complete documentation of sbt-scala3-migrate can be found in docs.scala-lang.org.

Usage

Requirements

  • sbt 1.5 or higher
  • java 8 or 11
  • scala 2.13, preferred 2.13.15

Installation

// project/plugins.sbt
addSbtPlugin("ch.epfl.scala" % "sbt-scala3-migrate" % "0.6.2")

Porting the build

To port a build to Scala 3, run the following commands in order, in each project of the build:

  1. migrateDependencies <project> helps you update the list of libraryDependencies
  2. migrateScalacOptions <project> helps you update the list of scalacOptions
  3. migrateSyntax <project> fixes a number of syntax incompatibilities between Scala 2.13 and Scala 3
  4. migrateTypes <project> tries to make your code compile with Scala 3 by inferring a few types and resolving a few implicits.

Contributions and feedbacks are welcome

The tool is still under development, and we would love to hear from you. Every feedback will help us build a better tool: typos, clearer log messages, better documentation, bug reports, ideas of features, so please open GitHub issues.

Acknowledgments

This tool is developed by the Scala Center