Skip to content
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

crossSbtVersions fail when project is not (project in file(".")) #3749

Open
Doikor opened this issue Nov 17, 2017 · 2 comments
Open

crossSbtVersions fail when project is not (project in file(".")) #3749

Doikor opened this issue Nov 17, 2017 · 2 comments
Labels
Bug uncategorized Used for Waffle integration

Comments

@Doikor
Copy link

Doikor commented Nov 17, 2017

steps

Make your project in build.sbt be anything else except lazy val root = (project in file("."))

problem

sbt incorrectly sets scala version for builds.

This is evident by:

1.0.3:

[info] Compiling 1 Scala source to /Users/ahuttunen/code/sbt-cross-bug/foo/target/scala-2.12/sbt-0.13/classes ...

0.13.16:

[info] Compiling 1 Scala source to /Users/ahuttunen/code/sbt-cross-bug/foo/target/scala-2.10/sbt-1.0/classes...

failure with 1.0.3:

sbt-cross-bug ahuttunen$ [git:master]$ sbt ^clean ^compile
[info] Loading settings from idea.sbt,plugins.sbt ...
[info] Loading global plugins from /Users/ahuttunen/.sbt/1.0/plugins
[info] Loading project definition from /Users/ahuttunen/code/sbt-cross-bug/project
[info] Loading settings from build.sbt ...
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[info] Setting `sbtVersion in pluginCrossBuild` to 0.13.16
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[success] Total time: 0 s, completed Nov 17, 2017 10:21:10 AM
[info] Setting `sbtVersion in pluginCrossBuild` to 1.0.3
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[success] Total time: 0 s, completed Nov 17, 2017 10:21:10 AM
[info] Setting `sbtVersion in pluginCrossBuild` to 1.0.3
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[info] Setting `sbtVersion in pluginCrossBuild` to 0.13.16
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[info] Updating {file:/Users/ahuttunen/code/sbt-cross-bug/}root...
[info] Updating {file:/Users/ahuttunen/code/sbt-cross-bug/}sbt-cross-bug...
[info] Done updating.
[info] Done updating.
[info] Compiling 1 Scala source to /Users/ahuttunen/code/sbt-cross-bug/foo/target/scala-2.12/sbt-0.13/classes ...
[error] /Users/ahuttunen/code/sbt-cross-bug/foo/src/main/scala/FuzzPlugin.scala:5:53: can't expand macros compiled by previous versions of Scala
[error]     lazy val obfuscateStylesheet = settingKey[File]("obfuscate stylesheet")
[error]                                                     ^
[error] one error found
[error] (root/compile:compileIncremental) Compilation failed
[error] Total time: 2 s, completed Nov 17, 2017 10:21:13 AM

failure with 0.13.16

sbt-cross-bug ahuttunen$ [git:master #]$ sbt ^clean ^compile
[info] Loading global plugins from /Users/ahuttunen/.sbt/0.13/plugins
[info] Loading project definition from /Users/ahuttunen/code/sbt-cross-bug/project
[info] Updating {file:/Users/ahuttunen/code/sbt-cross-bug/project/}sbt-cross-bug-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn]
[warn] 	* org.scalamacros:quasiquotes_2.10:2.1.0 is selected over 2.0.1
[warn] 	    +- org.ensime:sbt-ensime:2.1.0 (scalaVersion=2.10, sbtVersion=0.13) (depends on 2.1.0)
[warn] 	    +- org.scala-lang.modules:scala-pickling_2.10:0.10.0  (depends on 2.0.1)
[warn]
[warn] Run 'evicted' to see detailed eviction warnings
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[info] Setting `sbtVersion in pluginCrossBuild` to 0.13.16
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[success] Total time: 0 s, completed Nov 17, 2017 10:20:26 AM
[info] Setting `sbtVersion in pluginCrossBuild` to 1.0.3
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[success] Total time: 0 s, completed Nov 17, 2017 10:20:26 AM
[info] Setting `sbtVersion in pluginCrossBuild` to 0.13.16
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[info] Setting `sbtVersion in pluginCrossBuild` to 0.13.16
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[info] Updating {file:/Users/ahuttunen/code/sbt-cross-bug/}root...
[info] Updating {file:/Users/ahuttunen/code/sbt-cross-bug/}sbt-cross-bug...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/ahuttunen/code/sbt-cross-bug/foo/target/scala-2.10/sbt-0.13/classes...
[success] Total time: 1 s, completed Nov 17, 2017 10:20:28 AM
[info] Setting `sbtVersion in pluginCrossBuild` to 1.0.3
[info] Set current project to sbt-cross-bug (in build file:/Users/ahuttunen/code/sbt-cross-bug/)
[info] Updating {file:/Users/ahuttunen/code/sbt-cross-bug/}root...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/ahuttunen/code/sbt-cross-bug/foo/target/scala-2.10/sbt-1.0/classes...
[error]
[error]      while compiling: /Users/ahuttunen/code/sbt-cross-bug/foo/src/main/scala/FuzzPlugin.scala
[error]         during phase: typer
[error]      library version: version 2.10.6
[error]     compiler version: version 2.10.6
[error]   reconstructed args: -deprecation -classpath /Users/ahuttunen/code/sbt-cross-bug/foo/target/scala-2.10/sbt-1.0/classes:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/sbt/jars/sbt-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/main_2.12/jars/main_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/logic_2.12/jars/logic_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/collections_2.12/jars/collections_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/com.eed3si9n/sjson-new-scalajson_2.12/jars/sjson-new-scalajson_2.12-0.8.0.jar:/Users/ahuttunen/.ivy2/cache/com.eed3si9n/sjson-new-core_2.12/jars/sjson-new-core_2.12-0.8.0.jar:/Users/ahuttunen/.ivy2/cache/com.eed3si9n/shaded-scalajson_2.12/jars/shaded-scalajson_2.12-1.0.0-M4.jar:/Users/ahuttunen/.ivy2/cache/org.spire-math/jawn-parser_2.12/jars/jawn-parser_2.12-0.10.4.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/util-position_2.12/jars/util-position_2.12-1.0.2.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/util-relation_2.12/jars/util-relation_2.12-1.0.2.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/actions_2.12/jars/actions_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/completion_2.12/jars/completion_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/jline/jline/jars/jline-2.14.4.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/io_2.12/jars/io_2.12-1.0.2.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/util-control_2.12/jars/util-control_2.12-1.0.2.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/run_2.12/jars/run_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/util-logging_2.12/jars/util-logging_2.12-1.0.2.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/util-interface/jars/util-interface-1.0.2.jar:/Users/ahuttunen/.ivy2/cache/org.apache.logging.log4j/log4j-api/jars/log4j-api-2.8.1.jar:/Users/ahuttunen/.ivy2/cache/org.apache.logging.log4j/log4j-core/jars/log4j-core-2.8.1.jar:/Users/ahuttunen/.ivy2/cache/com.lmax/disruptor/jars/disruptor-3.3.6.jar:/Users/ahuttunen/.sbt/boot/scala-2.10.6/lib/scala-reflect.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc-classpath_2.12/jars/zinc-classpath_2.12-1.0.3.jar:/Users/ahuttunen/.sbt/boot/scala-2.10.6/lib/scala-compiler.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/launcher-interface/jars/launcher-interface-1.0.0.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/task-system_2.12/jars/task-system_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/tasks_2.12/jars/tasks_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/util-cache_2.12/jars/util-cache_2.12-1.0.2.jar:/Users/ahuttunen/.ivy2/cache/com.eed3si9n/sjson-new-murmurhash_2.12/jars/sjson-new-murmurhash_2.12-0.8.0.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/testing_2.12/jars/testing_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/test-agent/jars/test-agent-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/test-interface/jars/test-interface-1.0.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/util-tracking_2.12/jars/util-tracking_2.12-1.0.2.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc-apiinfo_2.12/jars/zinc-apiinfo_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc-classfile_2.12/jars/zinc-classfile_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/librarymanagement-core_2.12/jars/librarymanagement-core_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/com.jcraft/jsch/jars/jsch-0.1.46.jar:/Users/ahuttunen/.ivy2/cache/com.eed3si9n/gigahorse-okhttp_2.12/jars/gigahorse-okhttp_2.12-0.3.0.jar:/Users/ahuttunen/.ivy2/cache/com.eed3si9n/gigahorse-core_2.12/jars/gigahorse-core_2.12-0.3.0.jar:/Users/ahuttunen/.ivy2/cache/com.typesafe/ssl-config-core_2.12/bundles/ssl-config-core_2.12-0.2.2.jar:/Users/ahuttunen/.ivy2/cache/com.typesafe/config/bundles/config-1.2.0.jar:/Users/ahuttunen/.ivy2/cache/org.reactivestreams/reactive-streams/jars/reactive-streams-1.0.0.jar:/Users/ahuttunen/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.25.jar:/Users/ahuttunen/.ivy2/cache/com.squareup.okhttp3/okhttp/jars/okhttp-3.7.0.jar:/Users/ahuttunen/.ivy2/cache/com.squareup.okio/okio/jars/okio-1.12.0.jar:/Users/ahuttunen/.ivy2/cache/com.squareup.okhttp3/okhttp-urlconnection/jars/okhttp-urlconnection-3.7.0.jar:/Users/ahuttunen/.ivy2/cache/org.scala-lang.modules/scala-xml_2.12/bundles/scala-xml_2.12-1.0.6.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc-ivy-integration_2.12/jars/zinc-ivy-integration_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc-compile-core_2.12/jars/zinc-compile-core_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-lang.modules/scala-parser-combinators_2.12/bundles/scala-parser-combinators_2.12-1.0.5.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc_2.12/jars/zinc_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc-core_2.12/jars/zinc-core_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc-persist_2.12/jars/zinc-persist_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/com.trueaccord.scalapb/scalapb-runtime_2.12/jars/scalapb-runtime_2.12-0.6.0.jar:/Users/ahuttunen/.ivy2/cache/com.trueaccord.lenses/lenses_2.12/jars/lenses_2.12-0.4.12.jar:/Users/ahuttunen/.ivy2/cache/com.lihaoyi/fastparse_2.12/jars/fastparse_2.12-0.4.2.jar:/Users/ahuttunen/.ivy2/cache/com.lihaoyi/fastparse-utils_2.12/jars/fastparse-utils_2.12-0.4.2.jar:/Users/ahuttunen/.ivy2/cache/com.lihaoyi/sourcecode_2.12/jars/sourcecode_2.12-0.1.3.jar:/Users/ahuttunen/.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-3.3.1.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/sbinary_2.12/jars/sbinary_2.12-0.4.4.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/main-settings_2.12/jars/main-settings_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/command_2.12/jars/command_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/protocol_2.12/jars/protocol_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/template-resolver/jars/template-resolver-0.1.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/core-macros_2.12/jars/core-macros_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.apache.logging.log4j/log4j-slf4j-impl/jars/log4j-slf4j-impl-2.8.1.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/librarymanagement-ivy_2.12/jars/librarymanagement-ivy_2.12-1.0.3.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt.ivy/ivy/jars/ivy-2.3.0-sbt-1b57d3bbc08ecf671169fd548918da18c91f77be.jar:/Users/ahuttunen/.ivy2/cache/org.scala-sbt/zinc-compile_2.12/jars/zinc-compile_2.12-1.0.3.jar -bootclasspath /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre/classes:/Users/ahuttunen/.sbt/boot/scala-2.10.6/lib/scala-library.jar
[error]
[error]   last tree to typer: Literal(Constant(obfuscate stylesheet))
[error]               symbol: null
[error]    symbol definition: null
[error]                  tpe: String("obfuscate stylesheet")
[error]        symbol owners:
[error]       context owners: lazy value obfuscateStylesheet -> object autoImport -> object ObfuscatePlugin -> package <empty>
[error]
[error] == Enclosing template or block ==
[error]
[error] Template( // val <local autoImport>: <notype> in object autoImport
[error]   "java.lang.Object" // parents
[error]   ValDef(
[error]     private
[error]     "_"
[error]     <tpt>
[error]     <empty>
[error]   )
[error]   // 2 statements
[error]   DefDef( // def <init>: <?> in object autoImport
[error]     <method>
[error]     "<init>"
[error]     []
[error]     List(Nil)
[error]     <tpt>
[error]     Block(
[error]       Apply(
[error]         super."<init>"
[error]         Nil
[error]       )
[error]       ()
[error]     )
[error]   )
[error]   ValDef( // lazy private[this] var obfuscateStylesheet: <?> in object autoImport
[error]     private <mutable> <local> lazy
[error]     "obfuscateStylesheet"
[error]     <tpt>
[error]     Apply(
[error]       TypeApply(
[error]         "settingKey"
[error]         "File"
[error]       )
[error]       "obfuscate stylesheet"
[error]     )
[error]   )
[error] )
[error]
[error] == Expanded type of tree ==
[error]
[error] ConstantType(value = Constant(obfuscate stylesheet))
[error]
[error] uncaught exception during compilation: scala.MatchError
scala.MatchError: false (of class scala.reflect.internal.Trees$Literal)
	at scala.tools.nsc.typechecker.Macros$MacroImplBinding$.unpickleAtom(Macros.scala:118)
	at scala.tools.nsc.typechecker.Macros$MacroImplBinding$$anonfun$7.apply(Macros.scala:186)
	at scala.tools.nsc.typechecker.Macros$MacroImplBinding$$anonfun$7.apply(Macros.scala:186)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.immutable.List.foreach(List.scala:318)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at scala.tools.nsc.typechecker.Macros$MacroImplBinding$.unpickle(Macros.scala:186)
	at scala.tools.nsc.typechecker.Macros$class.scala$tools$nsc$typechecker$Macros$$loadMacroImplBinding(Macros.scala:205)
	at scala.tools.nsc.typechecker.Macros$$anonfun$scala$tools$nsc$typechecker$Macros$$macroRuntime$3.apply(Macros.scala:522)
	at scala.tools.nsc.typechecker.Macros$$anonfun$scala$tools$nsc$typechecker$Macros$$macroRuntime$3.apply(Macros.scala:521)
	at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
	at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
	at scala.tools.nsc.typechecker.Macros$class.scala$tools$nsc$typechecker$Macros$$macroRuntime(Macros.scala:521)
	at scala.tools.nsc.typechecker.Macros$$anonfun$scala$tools$nsc$typechecker$Macros$$macroExpand1$1.apply(Macros.scala:817)
	at scala.tools.nsc.typechecker.Macros$$anonfun$scala$tools$nsc$typechecker$Macros$$macroExpand1$1.apply(Macros.scala:809)
	at scala.tools.nsc.Global.withInfoLevel(Global.scala:190)
	at scala.tools.nsc.typechecker.Macros$class.scala$tools$nsc$typechecker$Macros$$macroExpand1(Macros.scala:809)
	at scala.tools.nsc.typechecker.Macros$class.macroExpand(Macros.scala:701)
	at scala.tools.nsc.Global$$anon$1.macroExpand(Global.scala:493)
	at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1152)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5660)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5721)
	at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:5808)
	at scala.tools.nsc.typechecker.Namers$Namer.assignTypeToTree(Namers.scala:831)
	at scala.tools.nsc.typechecker.Namers$Namer.valDefSig(Namers.scala:1312)
	at scala.tools.nsc.typechecker.Namers$Namer.getSig$1(Namers.scala:1454)
	at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1463)
	at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply$mcV$sp(Namers.scala:728)
	at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:727)
	at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:727)
	at scala.tools.nsc.typechecker.Namers$Namer.scala$tools$nsc$typechecker$Namers$Namer$$logAndValidate(Namers.scala:1496)
	at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:727)
	at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:726)
	at scala.tools.nsc.typechecker.Namers$$anon$1.completeImpl(Namers.scala:1611)
	at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter$class.complete(Namers.scala:1619)
	at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1609)
	at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1231)
	at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1374)
	at scala.tools.nsc.typechecker.MethodSynthesis$MethodSynth$class.addDerivedTrees(MethodSynthesis.scala:225)
	at scala.tools.nsc.typechecker.Namers$Namer.addDerivedTrees(Namers.scala:55)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$32.apply(Typers.scala:1917)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$32.apply(Typers.scala:1917)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$rewrappingWrapperTrees$1.apply(Typers.scala:1856)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$rewrappingWrapperTrees$1.apply(Typers.scala:1853)
	at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
	at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
	at scala.collection.immutable.List.foreach(List.scala:318)
	at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
	at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
	at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1917)
	at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1800)
	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5584)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
	at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2928)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$61.apply(Typers.scala:3032)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$61.apply(Typers.scala:3032)
	at scala.collection.immutable.List.loop$1(List.scala:170)
	at scala.collection.immutable.List.mapConserve(List.scala:186)
	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3032)
	at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1919)
	at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1800)
	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5584)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
	at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2928)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$61.apply(Typers.scala:3032)
	at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$61.apply(Typers.scala:3032)
	at scala.collection.immutable.List.loop$1(List.scala:170)
	at scala.collection.immutable.List.mapConserve(List.scala:186)
	at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3032)
	at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5301)
	at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5587)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
	at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5704)
	at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:99)
	at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:464)
	at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:91)
	at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:91)
	at scala.collection.Iterator$class.foreach(Iterator.scala:727)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
	at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:91)
	at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583)
	at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557)
	at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553)
	at scala.tools.nsc.Global$Run.compile(Global.scala:1662)
	at xsbt.CachedCompiler0.run(CompilerInterface.scala:116)
	at xsbt.CachedCompiler0.run(CompilerInterface.scala:95)
	at xsbt.CompilerInterface.run(CompilerInterface.scala:26)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:107)
	at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:53)
	at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:47)
	at sbt.compiler.MixedAnalyzingCompiler$$anonfun$compileScala$1$1.apply$mcV$sp(MixedAnalyzingCompiler.scala:50)
	at sbt.compiler.MixedAnalyzingCompiler$$anonfun$compileScala$1$1.apply(MixedAnalyzingCompiler.scala:50)
	at sbt.compiler.MixedAnalyzingCompiler$$anonfun$compileScala$1$1.apply(MixedAnalyzingCompiler.scala:50)
	at sbt.compiler.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:74)
	at sbt.compiler.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:49)
	at sbt.compiler.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:64)
	at sbt.compiler.IC$$anonfun$compileInternal$1.apply(IncrementalCompiler.scala:160)
	at sbt.compiler.IC$$anonfun$compileInternal$1.apply(IncrementalCompiler.scala:160)
	at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:66)
	at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:64)
	at sbt.inc.IncrementalCommon.cycle(IncrementalCommon.scala:32)
	at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:72)
	at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:71)
	at sbt.inc.Incremental$.manageClassfiles(Incremental.scala:99)
	at sbt.inc.Incremental$.compile(Incremental.scala:71)
	at sbt.inc.IncrementalCompile$.apply(Compile.scala:54)
	at sbt.compiler.IC$.compileInternal(IncrementalCompiler.scala:160)
	at sbt.compiler.IC$.incrementalCompile(IncrementalCompiler.scala:138)
	at sbt.Compiler$.compile(Compiler.scala:155)
	at sbt.Compiler$.compile(Compiler.scala:141)
	at sbt.Defaults$.sbt$Defaults$$compileIncrementalTaskImpl(Defaults.scala:913)
	at sbt.Defaults$$anonfun$compileIncrementalTask$1.apply(Defaults.scala:904)
	at sbt.Defaults$$anonfun$compileIncrementalTask$1.apply(Defaults.scala:902)
	at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
	at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
	at sbt.std.Transform$$anon$4.work(System.scala:63)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
	at sbt.Execute.work(Execute.scala:237)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
	at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
	at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[error] (root/compile:compileIncremental) scala.MatchError: false (of class scala.reflect.internal.Trees$Literal)
[error] Total time: 1 s, completed Nov 17, 2017 10:20:29 AM

expectation

That the scala version is set correctly and thus the compile works

notes

sbt version: 1.0.3, 1.0.4, 0.13.16

repo showing this bug: https://github.com/Doikor/sbt-cross-bug
repo using the workaround: https://github.com/Doikor/sbt-cross-bug-workaround

A simple workaround for this:

scalaVersion in ThisBuild := {
  if((sbtBinaryVersion in pluginCrossBuild).value.startsWith("0.")) "2.10.7" else "2.12.4"
}
@eed3si9n eed3si9n added the Bug label Aug 8, 2018
@eed3si9n
Copy link
Member

eed3si9n commented Aug 8, 2018

Thanks for reporting this with repro project, and sorry about the lack of response here.

@eed3si9n eed3si9n added the uncategorized Used for Waffle integration label Sep 18, 2018
@bambuchaAdm
Copy link

Observation:

sbt:root> ^plugin-subproject/compile 

Fails

sbt:root> project plugin-subproject
sbt:plugin-subproject> ^compile

Works fine and as expected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug uncategorized Used for Waffle integration
Projects
None yet
Development

No branches or pull requests

3 participants