-
Notifications
You must be signed in to change notification settings - Fork 427
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
Add module with Play 2.9 support #3313
Conversation
doc/server/play29.md
Outdated
To expose endpoint as a [play-server](https://www.playframework.com/) first add the following dependencies: | ||
|
||
```scala | ||
"com.softwaremill.sttp.tapir" %% "tapir-play-server" % "@VERSION@" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this would need different artifact names (with 29
)?
But maybe we could have a single documentation page for JSON, I think the only difference would be the name of the artifact - so we could simply say that if you are on 3.0, use this artifact, if you are on 2.9, use this other one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I fixed that and also link to the 2.8 docs I found.
Thanks! Are there any code differences between the codebases, or is it a direct copy, just different dependencies? If it's a direct copy, then maybe we could simply have the subproject use the |
So, the client and server code differs in a tiny way: The imports are for akka, not pekko. The json-play code is exactly the same - that does bother me and I tried to use a single source dir for the build, however, my sbt-foo is not great and I can't figure out how to correctly change the output directory (as to get rid of the resulting error "Overlapping output directories"). |
@Mergifyio update |
❌ Mergify doesn't have permission to updateFor security reasons, Mergify can't update this pull request. Try updating locally. |
@cptwunderlich Thanks a lot for this PR! I pushed a few fixes to the documentation. We can't have both dependency on |
@Mergifyio update |
✅ Branch has been successfully updated |
I added some more fixes and it seems to be fine now. |
doc/client/play29.md
Outdated
Add the dependency: | ||
|
||
```scala | ||
"com.softwaremill.sttp.tapir" %% "tapir-play-client" % "@VERSION@" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the artifact name here is wrong - I think it would really be better to combine the docs into a single page, just with mentioning alternative artifact names (plus one or two akka/pekko imports) - these are all the differences
@adamw and @kciesielski thank you very much for your support! @adamw I have merged the docs for Play 3 and 2.9 as you suggested. |
@cptwunderlich Perfect, thanks! :) |
@Mergifyio rebase |
✅ Branch has been successfully rebased |
@Mergifyio rebase |
✅ Branch has been successfully rebased |
✅ Nothing to do for rebase action |
We're getting some Scala 3 errors ... I'll try rebasing to get the new test reports |
@Mergifyio rebase |
✅ Nothing to do for rebase action |
@adamw I tried to retry Scala 3 tests quite a few times, looks like they just freeze at some point. There were no failures in logs. I haven't dive deeper to isolate what's actually freezing, possibly integration tests for |
I reverted Scala 3 support, it requires some extra tinkering with Akka versions. Tapir didn't have Scala 3 support for Play 2 before, and we treat Play 2.9 as a temporary server for those who are about to migrate to 3.x, so I'll just reduce to Scala 2 for now. |
@Mergifyio rebase |
✅ Branch has been successfully rebased |
In this PR, Play was bumped up to version 3, which switches from Akka to Pekko.
However, we were hoping to go to Play 2.9 first.
In this PR, I simply created 2.9 versions for everything regarding Play.
Please let me know, if anything else is needed.