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

Doesn't work with sjs 0.6.25 #98

Closed
japgolly opened this issue Sep 1, 2018 · 2 comments
Closed

Doesn't work with sjs 0.6.25 #98

japgolly opened this issue Sep 1, 2018 · 2 comments
Labels

Comments

@japgolly
Copy link
Contributor

japgolly commented Sep 1, 2018

Using 0.3.0 of this + 0.6.25 of SJS (at least on SBT 0.13.16) results in an exception on SBT startup:

Sep 01, 2018 3:52:14 PM org.openqa.selenium.remote.DesiredCapabilities firefox
INFO: Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()`
java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.toImmutableList()Ljava/util/stream/Collector;
	at org.openqa.selenium.remote.server.DefaultDriverFactory.<clinit>(DefaultDriverFactory.java:78)
	at org.scalajs.jsenv.selenium.SeleniumJSEnv$Config.<init>(SeleniumJSEnv.scala:73)
	at org.scalajs.jsenv.selenium.SeleniumJSEnv$Config$.apply(SeleniumJSEnv.scala:152)
	at org.scalajs.jsenv.selenium.SeleniumJSEnv.<init>(SeleniumJSEnv.scala:21)
	at InBrowserTesting$$anonfun$js$1.apply(InBrowserTesting.scala:79)
	at InBrowserTesting$$anonfun$js$1.apply(InBrowserTesting.scala:81)
	at scala.Function$$anonfun$chain$1$$anonfun$apply$1.apply(Function.scala:24)
	at scala.Function$$anonfun$chain$1$$anonfun$apply$1.apply(Function.scala:24)
	at scala.collection.IndexedSeqOptimized$class.foldl(IndexedSeqOptimized.scala:51)
	at scala.collection.IndexedSeqOptimized$class.foldLeft(IndexedSeqOptimized.scala:60)
	at scala.collection.mutable.WrappedArray.foldLeft(WrappedArray.scala:34)
	at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:138)
	at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:105)
	at scala.Function$$anonfun$chain$1.apply(Function.scala:24)
	at sbt.Project$class.configure(Project.scala:118)
	at sbt.Project$$anon$3.configure(Project.scala:303)
	at ScalajsReact$$anonfun$utestSettings$1.apply(Build.scala:110)
	at ScalajsReact$$anonfun$utestSettings$1.apply(Build.scala:111)
	at scala.Function$$anonfun$chain$1$$anonfun$apply$1.apply(Function.scala:24)
	at scala.Function$$anonfun$chain$1$$anonfun$apply$1.apply(Function.scala:24)
	at scala.collection.IndexedSeqOptimized$class.foldl(IndexedSeqOptimized.scala:51)
	at scala.collection.IndexedSeqOptimized$class.foldLeft(IndexedSeqOptimized.scala:60)
	at scala.collection.mutable.WrappedArray.foldLeft(WrappedArray.scala:34)
	at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:138)
	at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:105)
	at scala.Function$$anonfun$chain$1.apply(Function.scala:24)
	at sbt.Project$class.configure(Project.scala:118)
	at sbt.Project$$anon$3.configure(Project.scala:303)
	at ScalajsReact$.test$lzycompute(Build.scala:223)
	at ScalajsReact$.test(Build.scala:222)
	at ScalajsReact$.root$lzycompute(Build.scala:193)
	at ScalajsReact$.root(Build.scala:191)
	at $acd435a39dfee0394f1c$.<init>(build.sbt:7)
	at $acd435a39dfee0394f1c$.<clinit>(build.sbt)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at sbt.compiler.Eval$.getModule(Eval.scala:471)
	at sbt.compiler.EvalDefinitions.values(Eval.scala:39)
	at sbt.DefinedSbtValues$$anonfun$values$1.apply(LoadedSbtFile.scala:39)
	at sbt.DefinedSbtValues$$anonfun$values$1.apply(LoadedSbtFile.scala:39)
	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 sbt.DefinedSbtValues.values(LoadedSbtFile.scala:39)
	at sbt.EvaluateConfigurations$$anonfun$evaluateSbtFile$1.apply(EvaluateConfigurations.scala:124)
	at sbt.EvaluateConfigurations$$anonfun$evaluateSbtFile$1.apply(EvaluateConfigurations.scala:122)
	at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:775)
	at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:781)
	at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:780)
	at scala.collection.MapLike$class.getOrElse(MapLike.scala:128)
	at scala.collection.AbstractMap.getOrElse(Map.scala:58)
	at sbt.Load$.sbt$Load$$memoLoadSettingsFile$1(Load.scala:780)
	at sbt.Load$$anonfun$loadFiles$1$2.apply(Load.scala:788)
	at sbt.Load$$anonfun$loadFiles$1$2.apply(Load.scala:788)
	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.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at sbt.Load$.loadFiles$1(Load.scala:788)
	at sbt.Load$.discoverProjects(Load.scala:799)
	at sbt.Load$.discover$1(Load.scala:585)
	at sbt.Load$.sbt$Load$$loadTransitive(Load.scala:633)
	at sbt.Load$$anonfun$loadUnit$1.sbt$Load$$anonfun$$loadProjects$1(Load.scala:482)
	at sbt.Load$$anonfun$loadUnit$1$$anonfun$40.apply(Load.scala:485)
	at sbt.Load$$anonfun$loadUnit$1$$anonfun$40.apply(Load.scala:485)
	at sbt.Load$.timed(Load.scala:1025)
	at sbt.Load$$anonfun$loadUnit$1.apply(Load.scala:485)
	at sbt.Load$$anonfun$loadUnit$1.apply(Load.scala:459)
	at sbt.Load$.timed(Load.scala:1025)
	at sbt.Load$.loadUnit(Load.scala:459)
	at sbt.Load$$anonfun$25$$anonfun$apply$14.apply(Load.scala:311)
	at sbt.Load$$anonfun$25$$anonfun$apply$14.apply(Load.scala:310)
	at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:91)
	at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:90)
	at sbt.BuildLoader.apply(BuildLoader.scala:140)
	at sbt.Load$.loadAll(Load.scala:365)
	at sbt.Load$.loadURI(Load.scala:320)
	at sbt.Load$.load(Load.scala:316)
	at sbt.Load$.load(Load.scala:305)
	at sbt.Load$$anonfun$4.apply(Load.scala:146)
	at sbt.Load$$anonfun$4.apply(Load.scala:146)
	at sbt.Load$.timed(Load.scala:1025)
	at sbt.Load$.apply(Load.scala:146)
	at sbt.Load$.defaultLoad(Load.scala:39)
	at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:503)
	at sbt.BuiltinCommands$.doLoadProject(Main.scala:503)
	at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:495)
	at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:495)
	at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:59)
	at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:59)
	at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:61)
	at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:61)
	at sbt.Command$.process(Command.scala:93)
	at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96)
	at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96)
	at sbt.State$$anon$1.runCmd$1(State.scala:183)
	at sbt.State$$anon$1.process(State.scala:187)
	at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96)
	at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96)
	at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
	at sbt.MainLoop$.next(MainLoop.scala:96)
	at sbt.MainLoop$.run(MainLoop.scala:89)
	at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:68)
	at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:63)
	at sbt.Using.apply(Using.scala:24)
	at sbt.MainLoop$.runWithNewLog(MainLoop.scala:63)
	at sbt.MainLoop$.runAndClearLast(MainLoop.scala:46)
	at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:30)
	at sbt.MainLoop$.runLogged(MainLoop.scala:22)
	at sbt.StandardMain$.runManaged(Main.scala:61)
	at sbt.xMain.run(Main.scala:35)
	at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
	at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
	at xsbt.boot.Launch$.run(Launch.scala:109)
	at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
	at xsbt.boot.Launch$.launch(Launch.scala:117)
	at xsbt.boot.Launch$.apply(Launch.scala:18)
	at xsbt.boot.Boot$.runImpl(Boot.scala:56)
	at xsbt.boot.Boot$.main(Boot.scala:18)
	at xsbt.boot.Boot.main(Boot.scala)
[error] java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.toImmutableList()Ljava/util/stream/Collector;
@sjrd
Copy link
Member

sjrd commented Sep 1, 2018

Could you give a minimal reproduction?

Is it really specific to 0.6.25? It looks like a binary incompatibility with things that sbt-scalajs itself does not use.

@japgolly
Copy link
Contributor Author

japgolly commented Sep 2, 2018

Hiya. In providing a minimal reproduction I determined that it's an incompatibility between scala-js-env-selenium 0.3.0 and coursier 1.0.3 that only occurs when coursier is declared in project/project/plugins.sbt and scala-js-env-selenium in project/plugins.sbt.

Repo here if you're interested: https://github.com/japgolly/scalajs-react/tree/selenium-error

I believe we can close this.

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

No branches or pull requests

2 participants