-
Notifications
You must be signed in to change notification settings - Fork 131
on Scala 2.11, version 1.1.2 may run afoul of sbt classpath issue #197
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
Comments
the root cause is that the Scala 2.11 compiler itself has a dependency on scala-parser-combinators. that dependency was removed in 2.12. the problem goes away if you previously here in this repo: #13 and, we went through this before with scala-xml at scala/scala-xml#195 /cc @ashawley |
@eed3si9n why is this still happening even after sbt/zinc#505 ? the bump repo is on sbt 1.2.8, which includes the fix |
the Shapeless repo only uses scala-parser-combinators in some example code, so this won't flow downstream to Shapeless users /cc @milessabin specs2 has a scala-parser-combinators dependency, but fwiw it looks like it's only used by certain matcher types /cc @etorreborre |
if a project has trouble it can always anyway, it seems like we should back-publish 1.1.1 for 2.13.0-RC1 so people will be less likely to be bitten. the underlying cause affects all scala-parser-combinators versions that aren't 1.04 (the version the 2.11 compiler uses), but the |
Scala 2.11 + scala-parser-combinator + sbt class loader conflicts
I hit this issue and switching 1.1.1 or 1.1.2 or using |
Yeah. Perhaps people landing on this ticket would like to leave links with sample diffs from their projects, to help others do likewise. Also, this is obvious once you've understood the issue, but it's probably worth stating plainly: Unless you fork, or until we have an sbt release with a fix, your tests aren't testing what they're supposed to be testing. They're testing something else. This was true already on 1.1.1 and previous versions too. It didn't start with the release of 1.1.2. |
* Upgrade to Scala 2.13.0-RC1 * Fix scalajs-java-logging version * Add workaround for scala/scala-parser-combinators#197 Scala 2.11 + scala-parser-combinator + sbt class loader conflicts * Read SQL files with Resource to support forked mode
@SethTisue That's true. Although it might have some overhead, adding |
@SethTisue It's an sbt bug. So basically sbt/zinc#505 fixed the bug for def makeLoader(classpath: Seq[File], instance: ScalaInstance): ClassLoader =
- filterByClasspath(classpath, makeLoader(classpath, instance.loader, instance))
+ filterByClasspath(classpath, makeLoader(classpath, instance.loaderLibraryOnly, instance)) but didn't for val dual = new DualLoader(
scalaInstance.loader, I opened sbt/sbt#4609. |
(closing the ticket since the bug isn't in this repo. still good we have this ticket to help searchers) |
on Scala 2.11, version 1.1.2 may run afoul of sbt classpath issue #197 scala/scala-parser-combinators#197
- update some dependencies (minor versions) - careful with scala/scala-parser-combinators#197
we need to fork integration test because scala/scala-parser-combinators#197
so, is 1.1.2 compatible with 1.0.4 or not? is 1.1.1 compatible with 1.0.4? |
ok, i did some tests and see that while technically a lib compiled against 1.0.4 (play_2.11-2.5.18) still references a method which is no longer available it seems to never be called
|
then again, i'm not sure why would not-forking cause a problem... |
because #197 (comment) |
@SethTisue so if i have a dependency like scala-compiler had i will have a problem too? i have a lib compiled again 1.0.4, should i expect it to fail running against 1.1.2? |
I'm sorry, I don't know. I haven't followed the status of the different branches that closely, where and when MiMa was enabled, and so on. |
Philippus/bump#8 fails with the following exception in scala 2.11:
Looks like #108 after testing locally.
Scala 2.12 and 2.13.0-RC1 are ok.
The text was updated successfully, but these errors were encountered: