scala / scala-dev

Scala 2 team issues. Not for user-facing bugs or directly actionable user-facing improvements. For build/test/infra and for longer-term planning and idea tracking. Our bug tracker is at https://github.com/scala/bug/issues
Apache License 2.0
130 stars 15 forks source link

Help port more of eco-system to Scala 2.13 #563

Closed adriaanm closed 5 years ago

adriaanm commented 6 years ago

We at Lightbend are seeking to collaborate with OSS project maintainers to help port projects from 2.12 to 2.13. This ticket serves to coordinate the effort -- please comment here with any projects you'd like to nominate (including your own ;-)).

jvican commented 6 years ago

Migrating anything that is an sbt and Zinc dependency would help so that we can publish a 2.13 version of the incremental compiler before the release of the RC. We're currently blocked by:

sjrd commented 6 years ago

I'd like to nominate scala-parallel-collections. ;)

adriaanm commented 6 years ago

Haha, of course the parallel collections were already on the list :-)

SethTisue commented 6 years ago

as usual, https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md lists published projects and has links to open tickets for projects that haven't published yet

dsilvasc commented 6 years ago

Are macwire, com.softwaremill.common:tagging, circe, circe-derivation, twilio's guardrail, sttp, gradle-scoverage, gradle-scalastyle-plugin, wartremover, sangria, and gatling already tracked?

martijnhoekstra commented 6 years ago

https://github.com/twitter/util could probably use some help, and is often a deep transitive dependency

martijnhoekstra commented 6 years ago

Also, https://github.com/apache/spark

da-liii commented 6 years ago

Any guide to port a project from 2.12 to 2.13 ?

I'm willing to work on Apache Spark.

da-liii commented 6 years ago

Get the dependents:

$ ./build/mvn -Phive-thriftserver -DskipTests package
$ ls assembly/target/scala-2.12/jars  | grep _2.12 | grep -v spark

Well, Apache Spark depends on ...

Related Issues

Check on M5

The Spark Jira

https://issues.apache.org/jira/browse/SPARK-25075

jvican commented 6 years ago

@sadhen's suggestions are great. I would prioritize those deps to make sure we don't repeat the same mistake with Apache Spark in 2.13. Even if it's not going to be released this year, the closer we are from having a working 2.13 Apache Spark port available, the better.

(I don't know how much does Spark use Scala collections, but if it does I also think it would be a good real-world use case to assess the performance of the new collections.)

szeiger commented 6 years ago

If you're porting code to 2.13, check out the presentation on this topic by @julienrf and myself from ScalaDays. For the new collections library we have an updated documentation on scala-lang. For cross-building on 2.12 and 2.13 you may want to use the collection-compat library.

smarter commented 6 years ago

It looks like https://github.com/scala/bug/issues/11030 is preventing fs2 and probably other projects from compiling with 2.13: https://github.com/functional-streams-for-scala/fs2/issues/1232, so fixing it would definitely count as helping the ecosystem migrate :).

dsilvasc commented 6 years ago

Gatling request: https://github.com/gatling/gatling/issues/3566

slandelle commented 6 years ago

Regarding Gatling, we depend on (listing only libs that haven't started supporting 2.13):

Sciss commented 5 years ago

We have a ticket for scala-swing now:

https://github.com/scala/scala-swing/issues/84

Rich2 commented 5 years ago

I'd certainly like to see help for Scala-Native. Getting to 2.12 seems to be the big challenge for them. Hopefully 2.12 => 2.13 will be relatively straightforward.

TimMoore commented 5 years ago

https://repo1.maven.org/maven2/com/fasterxml/jackson/module/jackson-module-scala_2.13.0-M5/2.9.8/jackson-module-scala_2.13.0-M5-2.9.8.jar is now available

SethTisue commented 5 years ago

volunteer to port boopickle? it's blocking http4s and gatling (and perhaps other projects)

skonto commented 5 years ago

For spark here is the dependency tree (no profile used, we need to verify with profiles to see what they bring in). Verified @sadhen's list. Pending issues:

szeiger commented 5 years ago

Spire depends on Algebra which doesn't have a 2.13 release yet. WIP here: https://github.com/typelevel/algebra/pull/226

adriaanm commented 5 years ago

See also https://github.com/scalacommunitybuild/algebra/tree/community-build-2.13 (and generally, the same pattern of branch name in that org for many projects)

adriaanm commented 5 years ago

FYI, 2.13.0-RC2 is tagged and on Maven Central! We'll announce after the weekend.

adriaanm commented 5 years ago

Looks like spire and algebra are up to date with 2.13.0-RC1, and I don't expect RC2 to be an issue for them!

adriaanm commented 5 years ago

For chill & breeze, we should start with twitter-util and scrooge, which are already in the community build. To see the errors, grep for [twitter-util] [error] in https://scala-ci.typesafe.com/job/scala-2.13.x-integrate-community-build/2208/consoleText.

martijnhoekstra commented 5 years ago

I have a WIP for twitter-util at https://github.com/twitter/util/pull/248 -- would particularly appreciate ideas for https://github.com/twitter/util/pull/248/files#r279409022

dsilvasc commented 5 years ago

Looks like monadless isn't in the community build. There's a question about 2.13 support here: https://github.com/monadless/monadless/issues/9

Philippus commented 5 years ago

Any reason scalamock is not pointing to https://github.com/paulbutcher/ScalaMock ?

SethTisue commented 5 years ago

over at https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md I'm not really doing any more maintenance on the list of what is published for 2.13 (except merging PRs on it), but I am definitely maintaining the list of "please publish for 2.13" tickets at https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md#pending, so that's a place to look for projects to help upgrade

ayoub-benali commented 5 years ago

For spark here is the dependency tree (no profile used, we need to verify with profiles to see what they bring in). Verified @sadhen's list. Pending issues:

Spire has a 0.17.0-M1 release which is available for Scala 2.13

SethTisue commented 5 years ago

this is an open-ended/never-ending task, but I think this ticket has now served its purpose. thanks all!

SethTisue commented 4 years ago

I'm continuing to maintain https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md — it lists projects that are known not to support 2.13 yet

rafalmag commented 4 years ago

I would like to nominate zinc (see sbt/zinc#697) , which seems to block gatling (see gatling/gatling#3566).

SethTisue commented 4 years ago

@rafalmag I added the link to https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md