sbt / sbt-projectmatrix

MIT License
124 stars 14 forks source link

Scala 3.0.0-M1 #37

Closed adamw closed 3 years ago

adamw commented 3 years ago

I've got a project using scala 3.0.0-M1 (https://github.com/softwaremill/sttp-model), and I think there's some incompatibility with the versioning scheme and projectmatrix. sbt itself loads fine, and generates projects e.g.:

[info]     core
[info]     core0_27
[info]     core2_11
[info]     core2_12
[info]     core3_0

Here's the first problem: it's not possible to cross-build for 3.0.0-M1 and 3.0.0-M2. I suppose for the milestone/RC releases, the full version should be appended?

The second problem surfaces when trying to import the project to IntelliJ. Not sure what kind of task intellij is issuing to sbt, but it ends up with the following stacktrace:

java.lang.RuntimeException: project matching List(PlatformAxis(jvm,JVM,jvm)) and 3.0.0-M1 was not found
at scala.sys.package$.error(package.scala:30)
at sbt.internal.ProjectMatrix$ProjectMatrixDef$AxisBaseProjectFinder.$anonfun$apply$1(ProjectMatrix.scala:447)
at scala.Option.getOrElse(Option.scala:189)
at sbt.internal.ProjectMatrix$ProjectMatrixDef$AxisBaseProjectFinder.apply(ProjectMatrix.scala:447)
at $bbcc4c7e53b3abe6a5ab$.$anonfun$projectAggregates$3(build.sbt:111)
at scala.collection.immutable.List.flatMap(List.scala:366)
at $bbcc4c7e53b3abe6a5ab$.projectAggregates$lzycompute(build.sbt:111)
at $bbcc4c7e53b3abe6a5ab$.projectAggregates(build.sbt:104)
at $bbcc4c7e53b3abe6a5ab$.rootProject$lzycompute(build.sbt:125)
at $bbcc4c7e53b3abe6a5ab$.rootProject(build.sbt:122)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at sbt.compiler.EvalDefinitions.$anonfun$values$1(Eval.scala:59)
at scala.collection.immutable.List.map(List.scala:293)
at sbt.compiler.EvalDefinitions.values(Eval.scala:59)
at sbt.internal.DefinedSbtValues.$anonfun$values$1(LoadedSbtFile.scala:50)
at scala.collection.immutable.List.flatMap(List.scala:366)
at sbt.internal.DefinedSbtValues.values(LoadedSbtFile.scala:50)
at sbt.internal.EvaluateConfigurations$.$anonfun$evaluateSbtFile$4(EvaluateConfigurations.scala:165)
at sbt.internal.Load$.loadSettingsFile$1(Load.scala:1107)
at sbt.internal.Load$.$anonfun$discoverProjects$2(Load.scala:1116)
at scala.collection.MapLike.getOrElse(MapLike.scala:131)
at scala.collection.MapLike.getOrElse$(MapLike.scala:129)
at scala.collection.AbstractMap.getOrElse(Map.scala:65)
at sbt.internal.Load$.memoLoadSettingsFile$1(Load.scala:1115)
at sbt.internal.Load$.$anonfun$discoverProjects$4(Load.scala:1123)
at scala.collection.immutable.List.map(List.scala:293)
at sbt.internal.Load$.loadFiles$1(Load.scala:1123)
at sbt.internal.Load$.discoverProjects(Load.scala:1137)
at sbt.internal.Load$.discover$1(Load.scala:889)
at sbt.internal.Load$.loadTransitive(Load.scala:943)
at sbt.internal.Load$.loadProjects$1(Load.scala:726)
at sbt.internal.Load$.$anonfun$loadUnit$11(Load.scala:729)
at sbt.internal.Load$.timed(Load.scala:1382)
at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:729)
at sbt.internal.Load$.timed(Load.scala:1382)
at sbt.internal.Load$.loadUnit(Load.scala:688)
at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:486)
at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
at sbt.internal.Load$.loadURI$1(Load.scala:548)
at sbt.internal.Load$.loadAll(Load.scala:564)
at sbt.internal.Load$.loadURI(Load.scala:494)
at sbt.internal.Load$.load(Load.scala:473)
at sbt.internal.Load$.$anonfun$apply$1(Load.scala:242)
at sbt.internal.Load$.timed(Load.scala:1382)
at sbt.internal.Load$.apply(Load.scala:242)
at sbt.internal.Load$.defaultLoad(Load.scala:55)
at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:931)
at sbt.BuiltinCommands$.doLoadProject(Main.scala:931)
at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:884)
at sbt.Command$.$anonfun$applyEffect$4(Command.scala:150)
at sbt.Command$.$anonfun$applyEffect$2(Command.scala:145)
at sbt.Command$.process(Command.scala:189)
at sbt.MainLoop$.$anonfun$processCommand$5(MainLoop.scala:244)
at scala.Option.getOrElse(Option.scala:189)
at sbt.MainLoop$.process$1(MainLoop.scala:244)
at sbt.MainLoop$.processCommand(MainLoop.scala:270)
at sbt.MainLoop$.$anonfun$next$5(MainLoop.scala:162)
at sbt.State$StateOpsImpl$.runCmd$1(State.scala:289)
at sbt.State$StateOpsImpl$.process$extension(State.scala:325)
at sbt.MainLoop$.$anonfun$next$4(MainLoop.scala:162)
at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
at sbt.MainLoop$.next(MainLoop.scala:162)
at sbt.MainLoop$.run(MainLoop.scala:143)
at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:118)
at sbt.io.Using.apply(Using.scala:27)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:111)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:65)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:50)
at sbt.MainLoop$.runLogged(MainLoop.scala:41)
at sbt.StandardMain$.runManaged(Main.scala:190)
at sbt.xMain$.$anonfun$run$8(Main.scala:102)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
at scala.Console$.withIn(Console.scala:230)
at sbt.internal.util.Terminal$.withIn(Terminal.scala:557)
at sbt.internal.util.Terminal$.$anonfun$withStreams$1(Terminal.scala:347)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
at scala.Console$.withOut(Console.scala:167)
at sbt.internal.util.Terminal$.$anonfun$withOut$2(Terminal.scala:547)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
at scala.Console$.withErr(Console.scala:196)
at sbt.internal.util.Terminal$.withOut(Terminal.scala:547)
at sbt.internal.util.Terminal$.withStreams(Terminal.scala:347)
at sbt.xMain$.run(Main.scala:86)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at sbt.internal.XMainConfiguration.run(XMainConfiguration.scala:83)
at sbt.xMain.run(Main.scala:46)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:111)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:130)
at xsbt.boot.Launch$.run(Launch.scala:111)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:37)
at xsbt.boot.Launch$.launch(Launch.scala:119)
at xsbt.boot.Launch$.apply(Launch.scala:20)
at xsbt.boot.Boot$.runImpl(Boot.scala:56)
at xsbt.boot.Boot$.main(Boot.scala:18)
at xsbt.boot.Boot.main(Boot.scala)

This might be something in IntelliJ, but I suspect it's also due to the fact that the versioning scheme for milestone releases isn't supported.d

eed3si9n commented 3 years ago

Thanks for the report!

adamw commented 3 years ago

Thank you, works with 0.7.0!

eed3si9n commented 3 years ago

Awesome. Thanks for the confirmation.