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

Scala 2.13: Second take #880

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

amivanoff
Copy link

Let's enter 2025 with Scala 2.13 support! 😊 Happy new year! 🎄🎆🎄🎉🎄🎁🎄

Second take on Scala 2.13, based on unfinished PR #860. Related to #811.

  1. Some sort of hand-made cross-compilation inside:

Scala 2.13: compiles and passes all tests (as far as I understand).

  • But many warnings left in code to maintain compatibility with 2.12
  • And also it blows IntelliJ Idea's mind: it detects some strange errors

Scala 2.12: compiles and passes all tests (as far as I understand).

  • But in requires to comment import scala.collection.parallel.CollectionConverters._ in OneVsRest.scala.
  1. Due to immutable Seq in transformers in 2.13, there was a problem with MinMaxScalerPipelineParitySpec test -- Array values in ArrayRows should be immutable. I made some fix in TypeConverters.scala to ensure immutability. Not sure if it is the right place.

  2. No automatic cross-compilation in Travis due to 2. Don't know what is the best practice to handle cross-compilation in the Scala world.

There are at least two variants:

  • Conditional Compilation Some hacks, no official way
    • We need hardcore low level ifdefs "before parser" preprocessor which works with TEXT LINES inclusion/exclusion (imports lines, etc,). Not high-level "type annotations" and types inclusion/exclusion.
  • Separate branches -- it seems it's an overkill
  • Separate folders -- also too clunky

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

Successfully merging this pull request may close these issues.

1 participant