Skip to content
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

support scala 3 build for util-tunable #305

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

felixbr
Copy link
Contributor

@felixbr felixbr commented Jun 30, 2022

This PR builds on #304 so that should be merged before this one imo.

With the new Jackson version supporting Scala 3 directly, util-tunable was just a config change.

I'm not sure why scala-collection-compat_3 was excluded from the Scala 3 settings. It was probably an attempt to solve the "conflicting version suffix" error from sbt. I moved it to the Scala 2 settings but I can also remove it if you prefer.

@felixbr felixbr marked this pull request as ready for review June 30, 2022 22:39
@felixbr felixbr mentioned this pull request Jul 15, 2022
@felixbr
Copy link
Contributor Author

felixbr commented Jul 28, 2022

CI failed because sbt-scoverage was updated to 2.0.0 here.

Once develop is green again, I can rebase this PR once more, which should fix it.

@@ -133,7 +134,7 @@ object TunableMap {
}

object Key {
def apply[T](id: String)(implicit m: Manifest[T]): Key[T] =
def apply[T](id: String)(implicit m: ClassTag[T]): Key[T] =
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manifest no longer exists in Scala 3 and there is no equivalent replacement.

Since it is only used to retrieve the runtime class (which is erased anyway), ClassTag should work the same way here, as far as I understand it.

@felixbr
Copy link
Contributor Author

felixbr commented May 18, 2023

I've rebased this onto develop.

I've also had to change the Scala 3 version form 3.0.2 to 3.2.2 because util-tunable depends on util-jackson, which is not yet ported for Scala 3 natively.
util-jackson in turn depends on jackson-module-scala which was compiled with Scala 3.2.x already, so we either have to port util-jackson to support Scala 3 natively (which currently is blocked on json4s) or we have to also use Scala 3.2.x.

Given that we currently don't have CI-checks for Scala 3 (see #310 for that) and it's still somewhat of a moving target, I'd rather just go for the up-to-date Scala 3 version, which we want anyway in the long run.

edit: I should add that I ran ++3.2.2 Test/compile in util to make sure I didn't break any other modules which were already ported to Scala 3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant