使用 SBT 扫描编译 类
Scan compiled classes with SBT
我想创建 SBT 任务以根据这些 classes 中的注释为我的 classes 生成文档。
所以我正在创建一个任务:
val genToolsDocs = TaskKey[Unit]("gendoc-tools", "gen doc")
genToolsDocs in Runtime <<=
(compile in Compile) map {
(compiled: Analysis) ⇒ {
???
}
}
但是我现在实际上不知道如何从这个 compiled: Analysis
对象正确地生成 classes?
我可以从 compiled.apis.internal.values.map(_.api()...)
那里获得一些关于我的 class 的信息,但不会太多。
还有 compiled.relations.classes
和 compiled.stamps.allBinaries
以及许多其他东西,但我不明白应该使用什么来编译 class 文件。
也许这是完全错误的方式,不是吗?
最后我得到了
genToolsDocs <<= (compile in Compile) map {
(compiled: Analysis) ⇒ {
val files = compiled.stamps.allProducts.filter(_.getPath.contains(???))
???
}
}
并且在 files
现在我得到了所有编译的 类。
我想创建 SBT 任务以根据这些 classes 中的注释为我的 classes 生成文档。
所以我正在创建一个任务:
val genToolsDocs = TaskKey[Unit]("gendoc-tools", "gen doc")
genToolsDocs in Runtime <<=
(compile in Compile) map {
(compiled: Analysis) ⇒ {
???
}
}
但是我现在实际上不知道如何从这个 compiled: Analysis
对象正确地生成 classes?
我可以从 compiled.apis.internal.values.map(_.api()...)
那里获得一些关于我的 class 的信息,但不会太多。
还有 compiled.relations.classes
和 compiled.stamps.allBinaries
以及许多其他东西,但我不明白应该使用什么来编译 class 文件。
也许这是完全错误的方式,不是吗?
最后我得到了
genToolsDocs <<= (compile in Compile) map {
(compiled: Analysis) ⇒ {
val files = compiled.stamps.allProducts.filter(_.getPath.contains(???))
???
}
}
并且在 files
现在我得到了所有编译的 类。