-
Notifications
You must be signed in to change notification settings - Fork 222
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
Scala 2.13 #440
Comments
I've started looking at bringing Sangria to 2.13. First off all of Sangria's dependencies needs to be met for 2.13. The good news is that Oleg kept the list of dependencies small; the only "external" dependency not related to tests is parboiled, which is published for 2.13.0-RC1 (so a proper 2.13 release should be imminent). This leaves the in-project dependencies and test dependencies. Furthermore marshalling is split out into glue packages which also needs to be updated, but that can be done independently of the main package. So far I've issued a PR for This isn't much but it's something in the right direction. It'd be a shame if Sangria were to fall behind, it's a fantastic project created by a genius developer. I think it's time we all start pitching in. |
Possibly parboiled could be replaced by fastparse? |
I'd deem replacing parboiled with something else as an unnecessary risk when the problem most likely will resolve itself. In the interim Sangria could probably be built against parboiled-2.1.6 built against Scala 2.13.0-RC1, as done in jrudolph/json-lenses@c01c325. https://github.com/jcazevedo/moultingyaml (a test dependency) however looks like an abandoned project which probably won't see a Scala 2.13 release. |
I am willing to pitch in here, although I'm not familiar enough with GraphQL to make any major changes. I took a look a few weeks ago at migrating some of the smaller in-project dependencies as well. I don't think I got very far (sangira-marshalling-api, sangria-marshalling-testkit), but this weekend I will review and see if I can't bring a couple of other subprojects up to speed |
That'd be great! I'm not really familiar with the code base either, but moving to 2.13 shouldn't be too complex. I just did a test compile of the main project and I think we're in an OK spot: 3227 warnings (of which I'm guessing the bulk is deprecated Unicode ligatures) and 65 errors, so not too bad. |
I saw some changes to parboiled committed by @xuwei-k 8hrs ago, maybe he's looking at publishing it for 2.13. |
I've opened PR (sangria-graphql/sangria-marshalling-testkit#2), built against the open sangria-marshalling-api PR. |
I've added a PR for sangria-spray-json (sangria-graphql/sangria-spray-json#1), and it appears there is a PR for sangria-streaming-api (sangria-graphql/sangria-streaming-api#2). From what I can tell, the remaining dependencies are:
|
I pushed a PR (#451) with my initial work on this. I commented the test dependencies for now, and using the locally published versions of the above mentioned PRs sources are now compiling. Tests will be a bit more tricky as more dependencies are involved... |
I have the sangria-playground sample working on scala 2.13.0 based on using some snapshot jars that I published. (https://github.com/pjfanning/sangria-playground/tree/scala-2.13) |
I'm working on the sangria-akka-streams PR right now (see also sangria-graphql/sangria-akka-streams#2 ) |
Thanks @pjfanning! Any chance you'd want to go ahead and add sbt-release and sbt-mima to those as well? |
@travisbrown I added the mima-check on sangria-play-json and it fails - any suggestion appreciated. The 2 json4s projects are sbt 0.13 based so it might take a bit longer to upgrade their sbt plugins. It might take me a few days to get back to the PRs. |
@pjfanning Thanks! And it's definitely fine if MiMa fails, if the breakage is necessary or intentional—the bincompat report is useful info for setting the next release version and writing the release notes. |
@yanns I'm publishing sangria-msgpack 2.0.0 now (I updated it a few days ago but haven't published it yet). We're still waiting on RxScala to support 2.13 to publish sangria-rxscala (which is otherwise updated, without needing any significant changes). I could go ahead and update sangria-relay now, unless you've already started? That's the last. |
I have not started sangria-relay. You can pick it. Thx! ❤️ |
@yanns Great! sangria-msgpack is published and here's the sangria-relay PR: sangria-graphql-org/sangria-relay#6 |
I just checked, and all of the packages support 2.13 now 🎉 |
With the Scala 2.13.0-RC1 release, it seems like Scala 2.13 will be here relatively soon. What's the plan for supporting 2.13 in Sangria? I would be willing to help with the migration, though I'm far from an expert on the internals of this library.
The text was updated successfully, but these errors were encountered: