scala / community-build

Scala 2 community build — a corpus of open-source repos built against Scala nightlies
Apache License 2.0
136 stars 60 forks source link

regression: scala-parser-combinators failing #680

Closed SethTisue closed 6 years ago

SethTisue commented 6 years ago
module not found: org.scala-lang.modules#scala-parser-combinators;1.1.0

the lack of a Scala version suffix makes me wonder if this somehow related to #679

SethTisue commented 6 years ago

it's MiMa, somehow: [scala-parser-combinators] [error] (scala-parser-combinatorsJVM/*:mimaPreviousClassfiles) sbt.ResolveException: unresolved dependency: org.scala-lang.modules#scala-parser-combinators;1.1.0: not found

I haven't succeeded in reproducing it outside of dbuild.

SethTisue commented 6 years ago

gah. why does it try both of these?

[scala-parser-combinators] [info] Resolving org.scala-lang.modules#scala-parser-combinators_2.12;1.1.0 ...
[scala-parser-combinators] [info] Resolving org.scala-lang.modules#scala-parser-combinators_2.12;1.1.0 ...
...
[scala-parser-combinators] [info] Resolving org.scala-lang.modules#scala-parser-combinators;1.1.0 ...
[scala-parser-combinators] [info] Resolving org.scala-lang.modules#scala-parser-combinators;1.1.0 ...
SethTisue commented 6 years ago

and why doesn't scala-xml have the same problem?

I'm looking at both builds trying to identify suspect differences. downgrading scala-parser-combinators from sbt-scala-module 1.0.13 to 1.0.2 didn't help

SethTisue commented 6 years ago

tried this on a hunch, didn't help:

+  jvmSettings(mimaPreviousVersion := Some("1.1.0")).
+
   settings(
     name := "scala-parser-combinators",
     version := "1.1.1-SNAPSHOT",
-    mimaPreviousVersion := Some("1.1.0"),
SethTisue commented 6 years ago

I wonder if scala-xml is different somehow because it's part of the bootstrap and thus is built with dbuild's "scala" build system rather than its "sbt" build system

by what mechanism is MiMa even getting run, here, anyway?

oh, sbt-scala-module has

    test in Test := {
      runMimaIfEnabled.value
      (test in Test).value
    }

it also has this which looks related and perhaps suspicious:

    // We're not using `%%` here in order to support both jvm and js projects (cross version `_2.12` / `_sjs0.6_2.12`)
    mimaPreviousArtifacts := Set(organization.value % moduleName.value % mimaPreviousVersion.value.getOrElse("dummy") cross crossVersion.value),

maybe we don't need to run MiMa at all in the context of the community build, then I wouldn't need to get to the bottom of this.

SethTisue commented 6 years ago

oh ffs, this is duplicate of #575. okay, I'll disable MiMa here, just as we did for scala.xml. :-/