KarelCemus / play-redis

Play framework 2 cache plugin as an adapter to redis-server
Mozilla Public License 2.0
166 stars 44 forks source link

Support Scala Version 3 #264

Closed nielsbuwen closed 7 months ago

nielsbuwen commented 1 year ago

Hi,

the play framework is in the process of adding support for Scala 3 with their 2.9 release. Are there any plans for this project to also support play 2.9 and Scala 3?

KarelCemus commented 1 year ago

Hey, I don't plan doing it myself but I am happy to accept PRs. On the other hand, there is major limitation in unreliable underlying connector so it should switch to a new connector first (jedis?) .

However, compiling it with higher version of Scala 2.13 should enable it for use with Scala 3 and it should be simple

KarelCemus commented 10 months ago

Since Play was recently released in version 2.9.0 and 3.0.0, I started working on the migration. Support of play 2.9.0 and latest version of Scala 2.13 is already in master, however direct cross-compilation for Scala 3 seems to be challenging. I'll try to deliver it but it might take a while, it requires some significant changes.

tubo28 commented 9 months ago

Hi,

Support of play 2.9.0 and latest version of Scala 2.13 is already in master, however direct cross-compilation for Scala 3 seems to be challenging. I'll try to deliver it but it might take a while, it requires some significant changes.

Is there any possibility of releasing the versions for Scala 2.13 only and Play 2.9 earlier? It's helpful for me.

KarelCemus commented 9 months ago

I'll take a look but there are several issues to be addressed before I'll be able to do full release, which is a bit unfortunate. However, I'll try to take some shortcuts to deliver something sooner.

tubo28 commented 9 months ago

I'm now testing my product with play-redis 2.7.0 (it's for play 2.8) and play 2.9 and have found that it works with no problem as far as I can see. So there is no rush.

Thank you.

KarelCemus commented 9 months ago

Released version 3.0.0-M1 for Scala 2.13, JDK 11 and Play 2.9.0

TomJKing commented 9 months ago

@KarelCemus Hi thanks for working on upgrading to support Play 2.9.0. Are you looking to move off of Akka onto Pekko? The reason I ask is that the version 3 of the Play Framework no longer ships with Akka, but uses Pekko. Thanks

KarelCemus commented 9 months ago

Yes, I intend to migrate to Play 3 which means to Pekko. However, there is quite a lot of work to be done and given Christmas and everything it goes much slower than expected but still I am on it

TomJKing commented 9 months ago

@KarelCemus That's great. If its any help I was having a play around trying to update the module to Pekko today. I've got it on a local branch, I could push it to Github?

KarelCemus commented 9 months ago

I am doing major refactoring during this transition to new versions but I am not familiar with Pekko and I don't want to send too much time on it so if you push your changes, I would appreciate it and be happy to get inspiration from it but I am not about to merge it directly as there are many conflicting changes ongoing.

TomJKing commented 9 months ago

@KarelCemus No problems, I understand.

I've put what I managed to get done here: https://github.com/KarelCemus/play-redis/pull/272 Hope its of at least some use to you.

KarelCemus commented 7 months ago

For Scala 2.13 there are releases 3.0.0-M3 for Play 2.9.x and 4.0.0-M1 for Play 3.0.x. Release for Scala 3 is blocked by tests at this moment since ScalaMock is not available for Scala 3 yet. I need to figure out the next step but it seems that ScalaMock might be released for Scala 3 soon so I'd like to wait and see how it goes, the PR is active these days https://github.com/paulbutcher/ScalaMock/pull/490.

KarelCemus commented 7 months ago

Implemented support for Scala 3, released versions 3.0.0 for Play 2.9 and version 4.0.0 for Play 3.0.