Skip to content

regression: scala/scala fails to extract after scala-parser-combinators added Scala.js support #215

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

Closed
SethTisue opened this issue Feb 11, 2016 · 2 comments
Assignees

Comments

@SethTisue
Copy link
Member

so at e.g. https://scala-ci.typesafe.com/job/scala-2.11.x-integrate-community-build/222/console we see

[scala-parser-combinators] Cyclic reference involving 
[scala-parser-combinators]    {file:/home/jenkins/workspace/scala-2.11.x-integrate-community-build/target-0.9.5/extraction/efd45b7712336af33211e50e348aade6f7b8ba2a/projects/ee117ddc3d656a3a6fda1e525358491b8eea71fa/projects/47f78a5180eaf5c16f8b8a91d8dafb5ba30cdf3d/}scala-parser-combinatorsJS/*:crossScalaVersions
[scala-parser-combinators]    {file:/home/jenkins/workspace/scala-2.11.x-integrate-community-build/target-0.9.5/extraction/efd45b7712336af33211e50e348aade6f7b8ba2a/projects/ee117ddc3d656a3a6fda1e525358491b8eea71fa/projects/47f78a5180eaf5c16f8b8a91d8dafb5ba30cdf3d/}scala-parser-combinatorsJS/*:scalaVersion
[scala-parser-combinators]  at sbt.Dag$Cyclic.$colon$colon(Dag.scala:67)

[info] Project scala-------------------: EXTRACTION FAILED (RuntimeException: )
@SethTisue
Copy link
Member Author

hmm, adding

         extra.projects: ["scala-parser-combinatorsJVM"]

changes the error to reference scala-parser-combinatorsJVM instead of scala-parser-combinatorsJS, but doesn't make it go away

@SethTisue
Copy link
Member Author

dbuild does nothing involving crossScalaVersions.

it's normal in scala modules for scalaVersion to depend on crossScalaVersions; we did it that way before Sébastien's changes, and we do it in other modules too.

normally in any sbt build if you don't set crossScalaVersions explicitly it's derived from scalaVersion, so it makes sense that a cycle could arise in the course of reversing the direction of that dependency, but it's not clear to me yet why this is only happening in a dbuild context and why Sébastien's changes made it start.

SethTisue added a commit to SethTisue/scala-parser-combinators that referenced this issue Feb 11, 2016
SethTisue added a commit to SethTisue/community-build that referenced this issue Feb 11, 2016
SethTisue added a commit to SethTisue/scala-parser-combinators that referenced this issue Feb 11, 2016
having scalaVersion and crossScalaVersions set in different
places was confusing dbuild

needed to fix scala/community-build#215
SethTisue added a commit to SethTisue/scala-parser-combinators that referenced this issue Feb 11, 2016
having scalaVersion and crossScalaVersions set in different
places was confusing dbuild

needed to fix scala/community-build#215
SethTisue added a commit to SethTisue/community-build that referenced this issue Feb 11, 2016
gourlaysama pushed a commit to gourlaysama/scala-parser-combinators that referenced this issue Feb 15, 2016
having scalaVersion and crossScalaVersions set in different
places was confusing dbuild

needed to fix scala/community-build#215

(cherry picked from commit bde222c)
gourlaysama pushed a commit to gourlaysama/scala-parser-combinators that referenced this issue Sep 19, 2016
having scalaVersion and crossScalaVersions set in different
places was confusing dbuild

needed to fix scala/community-build#215

(cherry picked from commit bde222c)
gourlaysama added a commit to gourlaysama/scala-parser-combinators that referenced this issue Sep 20, 2016
This commit backports the commit below, with two caveats:
 - the fix in scala#68 doesn't work with Scala.js, so it is only
   enabled on the JVM for now
 - the scalaVersion/crossScalaVersion madness breaks the sbt
   build in 1.0.x (it didn't in master for some reason),
   so the second backport commit below had to be squashed
   with this one

[backport] Add support for Scala.js, with cross-compilation.

Scala versions were upgraded to 2.11.7 and 2.12.0-M3.
2.12 is only used when running the build on JDK8 or later.

JavaTokenParsers.identifier was rewritten not to use a regexp,
but rather primitive parsers and
Character.isJavaIdentifier{Start,Part}. The regexp-based
implementation relies on Java-specific character ranges.

JavaTokenParsers.stringLiteral was slightly adapted with an
expansion of `\p{Cntrl}` into `[\x00-\x1F\x7F]`. The former
character range is Java-specific. We also removed an invalid
(and useless) `+` at the end of the regexp.

The test t4929.scala is JVM-only.

(Author: Sébastien Doeraene <[email protected]>)
(cherry picked from commit 98737a2)

---

[backport] set Scala version in a more dbuild-friendly way

having scalaVersion and crossScalaVersions set in different
places was confusing dbuild

needed to fix scala/community-build#215

(Author: Seth Tisue <[email protected]>)
(cherry picked from commit bde222c)
gourlaysama added a commit to gourlaysama/scala-parser-combinators that referenced this issue Sep 20, 2016
This commit backports the commit below, with two caveats:
 - the fix in scala#68 doesn't work with Scala.js, so it is only
   enabled on the JVM for now
 - the scalaVersion/crossScalaVersion madness breaks the sbt
   build in 1.0.x (it didn't in master for some reason),
   so the second backport commit below had to be squashed
   with this one

[backport] Add support for Scala.js, with cross-compilation.

Scala versions were upgraded to 2.11.7 and 2.12.0-M3.
2.12 is only used when running the build on JDK8 or later.

JavaTokenParsers.identifier was rewritten not to use a regexp,
but rather primitive parsers and
Character.isJavaIdentifier{Start,Part}. The regexp-based
implementation relies on Java-specific character ranges.

JavaTokenParsers.stringLiteral was slightly adapted with an
expansion of `\p{Cntrl}` into `[\x00-\x1F\x7F]`. The former
character range is Java-specific. We also removed an invalid
(and useless) `+` at the end of the regexp.

The test t4929.scala is JVM-only.

(Author: Sébastien Doeraene <[email protected]>)
(cherry picked from commit 98737a2)

---

[backport] set Scala version in a more dbuild-friendly way

having scalaVersion and crossScalaVersions set in different
places was confusing dbuild

needed to fix scala/community-build#215

(Author: Seth Tisue <[email protected]>)
(cherry picked from commit bde222c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant