portable-scala / portable-scala-reflect

Platform independent reflection for Scala
BSD 3-Clause "New" or "Revised" License
42 stars 14 forks source link

Dotty build #23

Open cquiroz opened 3 years ago

cquiroz commented 3 years ago

Though it seems dotty can run using withDottyCompatibility. it would be nice to get a dotty build of this lib

sjrd commented 3 years ago

I do not intend to do so. IMO, all libraries should either publish for 2.13, or for 3. Until further notice, I intend to publish for 2.13, and let Scala 3 users depend on it with withDottyCompat.

See https://github.com/lampepfl/dotty/issues/10244 for background.

larsrh commented 3 years ago

FWIW, I've confirmed this works fine in minitest, but only because we don't depend on the macros.

sideeffffect commented 2 years ago

I think we should publish Scala 3 build, at least for Scala Native. doesn't seem to work with Scala Native, because it brings dependencies on libraries (on Maven Central):

sbt> portable-scala-reflectNative/libraryDependencies
[info] * org.scala-lang:scala-library:2.12.13
[info] * org.scala-native:nativelib:0.4.0
[info] * org.scala-native:javalib:0.4.0
[info] * org.scala-native:auxlib:0.4.0
[info] * org.scala-native:scalalib:0.4.0
[info] * org.scala-native:test-interface:0.4.0:test
[info] * org.scala-native:nscplugin:0.4.0:plugin->default(compile)
[info] * org.scala-native:junit-runtime:0.4.0:test
[info] * org.scala-native:junit-plugin:0.4.0:plugin->default(compile)

The .cross(CrossVersion.for3Use2_13) trick then causes this when attempting to use Scala Native with Scala 3:

[error] Modules were resolved with conflicting cross-version suffixes in ProjectRef(uri("file:/home/ondra/Projects/sbt-locales/"), "apiNative"):
[error]    org.scala-native:windowslib_native0.4 _3, _2.13
[error]    org.scala-native:nativelib_native0.4 _3, _2.13
[error]    org.scala-native:javalib_native0.4 _3, _2.13
[error]    org.scala-native:clib_native0.4 _3, _2.13
[error]    org.scala-native:posixlib_native0.4 _3, _2.13
[error]    org.scala-native:auxlib_native0.4 _3, _2.13
[error] stack trace is suppressed; run last apiNative / update for the full output
[error] (apiNative / update) Conflicting cross-version suffixes in: org.scala-native:windowslib_native0.4, org.scala-native:nativelib_native0.4, org.scala-native:javalib_native0.4, org.scala-native:clib_native0.4, org.scala-native:posixlib_native0.4, org.scala-native:auxlib_native0.4

Example of such behavior can be seen in this PR https://github.com/cquiroz/sbt-locales/pull/190

EDIT: reported to Scala Native https://github.com/scala-native/scala-native/issues/2546