cb372/sbt-explicit-dependencies

[sbt 1.4.0] ClassCastException: sbt.internal.inc.MappedVirtualFile cannot be cast to java.io.File

Daenyth opened this issue · 2 comments

I get this when running in my project.

It didn't used to happen; it happens when I update sbt to 1.4.0-RC1. Downgrading back to 1.3.10 makes the error stop

[error] java.lang.ClassCastException: sbt.internal.inc.MappedVirtualFile cannot be cast to java.io.File
[error] 	at scala.collection.TraversableLike.$anonfun$filterImpl$1(TraversableLike.scala:303)
[error] 	at scala.collection.immutable.HashMap$HashMapKeys.$anonfun$foreach$1(HashMap.scala:149)
[error] 	at scala.collection.immutable.HashMap$HashMap1.foreachEntry(HashMap.scala:395)
[error] 	at scala.collection.immutable.HashMap$HashTrieMap.foreachEntry(HashMap.scala:728)
[error] 	at scala.collection.immutable.HashMap$HashMapKeys.foreach(HashMap.scala:149)
[error] 	at scala.collection.TraversableLike.filterImpl(TraversableLike.scala:302)
[error] 	at scala.collection.TraversableLike.filterImpl$(TraversableLike.scala:296)
[error] 	at scala.collection.AbstractTraversable.filterImpl(Traversable.scala:108)
[error] 	at scala.collection.TraversableLike.filter(TraversableLike.scala:394)
[error] 	at scala.collection.TraversableLike.filter$(TraversableLike.scala:394)
[error] 	at scala.collection.AbstractTraversable.filter(Traversable.scala:108)
[error] 	at explicitdeps.Logic$.getCompileDependencies(Logic.scala:67)
[error] 	at explicitdeps.Logic$.getUndeclaredCompileDependencies(Logic.scala:18)
[error] 	at explicitdeps.ExplicitDepsPlugin$.$anonfun$undeclaredCompileDependenciesTask$1(ExplicitDepsPlugin.scala:52)
[error] 	at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] 	at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] 	at sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error] 	at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error] 	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error] 	at sbt.Execute.work(Execute.scala:291)
[error] 	at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error] 	at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:233)
[error] 	at sbt.CompletionService$$anon$2.call(CompletionService.scala:59)
[error] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] 	at java.lang.Thread.run(Thread.java:748)

https://gitter.im/sbt/sbt?at=5f6b4a01b8a99f4519a0d3ab

my guess is this code here is affected - https://github.com/cb372/sbt-explicit-dependencies/blob/master/src/main/scala-sbt-1.0/explicitdeps/package.scala
I think there's a reflection workaround that should work for both pre sbt 1.4 and 1.4

I think this issue can be closed as #73 has been merged.