scalacenter / scaladex

The Scala Package Index
https://index.scala-lang.org
BSD 3-Clause "New" or "Revised" License
197 stars 76 forks source link

Upgrade to Scala 3 #1104

Open adpi2 opened 1 year ago

adpi2 commented 1 year ago

Motivation

Compile with Scala 3

Identified Obstacles

Implementation Guideline

Expectations

adpi2 commented 8 months ago

@mfirry Yes indeed and I don't think we have a license for it. So maybe we should replace it with Pekko.

mfirry commented 8 months ago

I deleted the comment, but thanks @adpi2 for your reply. I'll think about this.

adpi2 commented 8 months ago

Actually we should have a license for Akka soon. I'll keep you updated about it.

mfirry commented 8 months ago

Thanks @adpi2. I did give it a try to "just" work on core (and the easy way for me was to sort of split it up on its own repo). With the precious help from @TonioGela, we made it compile. Please have a look in your own good time https://github.com/mfirry/scaladex-core

As far as I can see all other modules need Akka.

adpi2 commented 7 months ago

Thanks @adpi2. I did give it a try to "just" work on core (and the easy way for me was to sort of split it up on its own repo). With the precious help from @TonioGela, we made it compile

Yay, that looks beautiful!

So I can confirm that we have a license for Akka but it is a temporary one. I would rather try to migrate to Pekko than to renew our Akka license every year.

mfirry commented 7 months ago

Ok. How do you suggest one can go ahead? What order would you suggest projects should be worked? I see these: infra, webclient, server, core, data? Am I missing anything?

adpi2 commented 7 months ago

Ok. How do you suggest one can go ahead? What order would you suggest projects should be worked? I see these: infra, webclient, server, core, data? Am I missing anything?

Here is the migration to Pekko: https://github.com/scalacenter/scaladex/pull/1338

Before starting the migration I would check that every library is Scala 3 compatible, and update them if needed. For the one that are not Scala 3 compatible I would configure them with CrossVersion.for3Use2_13.

Then I would suggest this order of projects: core, webclient, infra, data, server.

adpi2 commented 7 months ago

Here is the migration to Pekko: https://github.com/scalacenter/scaladex/pull/1338

It's merged

mfirry commented 3 months ago

Sorry... got lost in so many things. Has anyone moved in any direction here? If not, I'll try and make a proper step-by-step upgrade during the summer. Let me know @adpi2 and thanks.

kannupriyakalra commented 3 months ago

Hi @mfirry I am working on this and also documenting the steps :)

mfirry commented 3 months ago

Ah cool. Anything public I can see and follow?

kannupriyakalra commented 3 months ago

Ah cool. Anything public I can see and follow?

not yet, will share soon :)

mfirry commented 1 week ago

Hi @kannupriyakalra ... any update?