title: sbt plugin - own configuration classpath incomplete
body: <p>I want to create a sbt plugin for a new kind of tests. To keep things simple I created a small fuzz test plugin, analog to the one mentioned in the <a href="http://www.scala-sbt.org/0.13/docs/Plugins-Best-Practices.html#When+to+define+your+own+configuration" rel="nofollow noreferrer">sbt docs</a>.</p>
  
  <p>My plugin class looks currently like this:</p>
  
  <pre><code>package sbtfuzz
  
  import sbt._, Keys._
  
  object FuzzPlugin extends sbt.AutoPlugin {
    override def requires = plugins.JvmPlugin
    override def trigger = allRequirements
  
    object autoImport {
      lazy val Fuzz = config("fuzz") extend(Compile)
    }
    import autoImport._
  
    lazy val baseFuzzSettings: Seq[Def.Setting[_]] = Seq(
      test := {
        println("fuzz test")
      }
    )
    override lazy val projectSettings = inConfig(Fuzz)(baseFuzzSettings) ++ inConfig(Fuzz)(Defaults.compileSettings)
  }
  </code></pre>
  
  <p>The only thing I added in comaprison to the code in the docs is the <code>inConfig(Fuzz)(Defaults.compileSettings)</code> to the get tasks to compile the code.</p>
  
  <p>If I execute <code>sbt fuzz:compile</code>, sources in <code>src/fuzz/scala</code> are compiled. But if the sources have dependencies to the actual project code ( like all tests have) the compile failes, because the classes were not found. I guess it's because the <code>fuzz:fullClasspath</code> only has one entry:</p>
  
  <pre><code>[info] * Attributed(.../fuzz/target/scala-2.10/sbt-0.13/fuzz-classes)
  </code></pre>
  
  <p>whereas <code>test:fullClasspath</code> has the project classes as well as the dependencies in it:</p>
  
  <pre><code>[info] * Attributed(.../fuzz/target/scala-2.10/sbt-0.13/test-classes)
  [info] * Attributed(.../fuzz/target/scala-2.10/sbt-0.13/classes)
  [info] * Attributed(~/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.4.jar)
  [info] * Attributed(~/.ivy2/cache/org.scala-sbt/sbt/jars/sbt-0.13.13.jar)
  ...
  </code></pre>
  
  <p>This way <code>test:compile</code> is able to compile the test classes successfully and <code>fuzz:compile</code> not.</p>
  
  <p>How can I configure my <code>fuzz</code> configuration the way like the <code>test</code> configuration is, including all project dependencies?</p>
  
  <p>Thanks!</p>
  
  <p><strong>Edit:</strong>
  I found a (in my opinion) rather dirty workaround:</p>
  
  <pre><code>lazy val baseFuzzSettings: Seq[Def.Setting[_]] = Seq(
    fullClasspath in Fuzz ++= (dependencyClasspath in Test).value,
    dependencyClasspath in Fuzz ++= (dependencyClasspath in Test).value,
    ...
  )
  </code></pre>
  
  <p>With this I can compile my fuzz classes successfully. Is there a more sane way to do this? Thanks!</p>