New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor build to use MultiScalaProjects #2441
Refactor build to use MultiScalaProjects #2441
Conversation
Quick question. If at some time we want a native |
Seems a bit unlikely to happen, since we would need still JVM and scalac to compile Scala, but yes, probably we would create a new project, similarly to |
Another question, do you plan to add the ability to get the Java version so we can add tests for |
e38c93c
to
942fc4f
Compare
This PR does change our build definition to allow for safe cross-compilation with the upcoming Scala 3 support, however it does not include yet any Scala 3 specific changes.
sbtScalaNative
) are now defined asMultiScalaProject
known from Scala.js - it means each binary version of each project has it's own individual projects, eg.scalalib
has now subprojects:scalalib2_11
,scalalib2_12
,scalalib2_13
. This change was needed for the incoming need of selective dependency on Scala 3 or Scala 2.13 dependencies.Also, this would allow us as again to run scripted-tests with Scala version other then Scala 2.12
build.sbt
has been moved and splitter toproject/Build.scala
,project/Settings.scala
, project/Deps.scalaand
project/Commands.scala`test-runtime
are now replaced with full commands taking binary scala version as an argument or using currently used scalaBinaryVersion used in the root project.The largest drawback of the new build is increased time of loading time when starting sbt, since we define 3x more projects which needs to be resolved