spotify / featran

A Scala feature transformation library for data science and machine learning
https://spotify.github.io/featran
Apache License 2.0
466 stars 68 forks source link

Add scala3 support for the java module #677

Closed RustedBones closed 1 year ago

RustedBones commented 1 year ago

java module wasn't building with scala 3 due to type conflict as explained in https://github.com/lampepfl/dotty/discussions/16797#discussioncomment-4845603. Proposed solution to change compiling order worked

RustedBones commented 1 year ago

Publishing was aborted due to

[error]  * static method optionalFn(com.spotify.featran.java.SerializableFunction)scala.Function1 in class com.spotify.featran.java.JavaOps's type is different in current version, where it is (java.util.function.Function)scala.Function1 instead of (com.spotify.featran.java.SerializableFunction)scala.Function1
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.spotify.featran.java.JavaOps.optionalFn")
[error]  * static method requiredFn(com.spotify.featran.java.SerializableFunction)scala.Function1 in class com.spotify.featran.java.JavaOps's type is different in current version, where it is (java.util.function.Function)scala.Function1 instead of (com.spotify.featran.java.SerializableFunction)scala.Function1
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.spotify.featran.java.JavaOps.requiredFn")
[error]  * method requiredFn(com.spotify.featran.java.SerializableFunction)scala.Function1 in object com.spotify.featran.java.JavaOps's type is different in current version, where it is (java.util.function.Function)scala.Function1 instead of (com.spotify.featran.java.SerializableFunction)scala.Function1
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.spotify.featran.java.JavaOps.requiredFn")
[error]  * method optionalFn(com.spotify.featran.java.SerializableFunction)scala.Function1 in object com.spotify.featran.java.JavaOps's type is different in current version, where it is (java.util.function.Function)scala.Function1 instead of (com.spotify.featran.java.SerializableFunction)scala.Function1
[error]    filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("com.spotify.featran.java.JavaOps.optionalFn")
[error] java.lang.RuntimeException: Failed binary compatibility check against com.spotify:featran-java_2.12:0.8.0 (e:info.apiURL=https://oss.sonatype.org/service/local/repositories/snapshots/archive/com/spotify/featran-docs_2.12/0.8.0-5-ee94d16-SNAPSHOT/featran-docs_2.12-0.8.0-5-ee94d16-SNAPSHOT-javadoc.jar/!/index.html, e:info.versionScheme=early-semver)! Found 4 potential problems (filtered 1)