spray/sbt-revolver — Issue #10: Bad type for Revolver.settings
Author: samskivert
Created: 2012-02-24 20:03:19+00:00
State: open

Revolver.settings lacks a declared type, so the compiler infers a really hairy one:

object RevolverPlugin extends Plugin {
object Revolver extends RevolverKeys {
lazy val settings = Seq(
// ...

this causes awesome problems like:

[error] found : Seq[sbt.Project.Setting[_ >: sbt.State => sbt.State with sbt.Task[sbt.ForkScalaRun] with Seq[java.lang.String] with java.lang.String with sbt.Task[Unit] with sbt.InputTask[cc.spray.revolver.AppProcess] with sbt.Task[Option[java.lang.String]] <: java.lang.Object]]
[error] required: scala.collection.GenTraversableOnce[sbt.Project.Setting[_ >: sbt.Types.Id[Seq[sbt.Resolver]] with _4]] where type _4 >: sbt.State => sbt.State with sbt.Task[sbt.ForkScalaRun] with Seq[java.lang.String] with java.lang.String with sbt.Task[Unit] with sbt.InputTask[cc.spray.revolver.AppProcess] with sbt.Task[Option[java.lang.String]] <: java.lang.Object

You can make all those problems go away by changing it to:

object RevolverPlugin extends Plugin {
object Revolver extends RevolverKeys {
lazy val settings: Seq[Setting[_]] = Seq(

Please do! :)