Scala Question

Scan compiled classes with SBT

I want to create SBT-task to generate documentation for my classes based on annotations inside these classes.

So I am creating a task:

val genToolsDocs = TaskKey[Unit]("gendoc-tools", "gen doc")

genToolsDocs in Runtime <<=
(compile in Compile) map {

(compiled: Analysis) ⇒ {
???
}

}


But then I actually don't now how to properly get generated classes from this
compiled: Analysis
object?

there is
compiled.apis.internal.values.map(_.api()...)
from where I can get some info about my classes, but not too much.

there are also
compiled.relations.classes
and
compiled.stamps.allBinaries
and many other things but I can't understand what should I use to get compiled class files.

Maybe it is fully wrong way, isn't it?

Answer

Finally I've ended up with

genToolsDocs <<= (compile in Compile) map {
  (compiled: Analysis) ⇒ {
    val files = compiled.stamps.allProducts.filter(_.getPath.contains(???))
    ???
  }
}

and in files now I get all my compiled classes.

Comments