twitter/util

publish for Scala 2.13.0-M4?

Closed this issue ยท 12 comments

publish for Scala 2.13.0-M4?

@SethTisue it's unlikely we'll do this soon. It's impossible to migrate in such a way that we can use the same source across builds, especially since we still need 2.11.x support, so we'll need to set up new infrastructure to use different source across builds. We started trying to do this here and it was pretty invasive: https://contributors.scala-lang.org/t/2-13-x-migration-and-source-compatibility/2000.

we'll need to set up new infrastructure to use different source across builds

I see. we do consider it normal โ€” not desirable, but the best we can do โ€” that some projects that integrate especially closely with collections will need Scala-version-specific source directories for certain source files.

@SethTisue is there any sbt infrastructure to make this easy? we aren't sbt experts, so that will probably be one of the main impediments.

in sbt, alongside src/main/scala you can create any or all of src/main/scala-2.11, src/main/scala-2.12, src/main/scala-2.13.0-M4 and the right additional source directory will be picked up by sbt (according to scalaBinaryVersion) with zero added configuration.

if you want to use the same version-specific source directory for more than one Scala version, then you need to do a little configuration, typically something very similar to:

    unmanagedSourceDirectories += (CrossVersion.partialVersion(scalaVersion.value) match {
      case (2, n) if n < 13 => new File(scalaSource.value.getPath + "_2.13-")
      case _ => new File(scalaSource.value.getPath + "_2.13+")
    })

that kind of thing

Great, thanks!

2.13.0-M5 is out now. 2.13.0-RC1 is planned for around the end of January

@SethTisue we're probably going to try to take another stab at building against 2.13.0-M5 (or 2.13.0-RC1 if it's out by the time we start) without cross-building this time so that we can get a bit further.

cool! we hope to have RC1 out in perhaps as little as a week, now.

magro commented

Maybe rename this issue to "publish for Scala 2.13.0-RC1" now?

WIP PR in #248, feedback appreciated.

Jackson XML and scoverage aren't released yet for RC1, FasterXML/jackson-module-scala#405 and scoverage/scalac-scoverage-plugin#250 (edit: no more)

Publish for scala 2.13 is enabled by #248. Thank you all.