【发布时间】:2014-10-04 12:58:04
【问题描述】:
假设我想覆盖(替换)packageBin 任务的默认设置。于是我天真地写了一个这样的AutoPlugin:
object TestPlugin extends AutoPlugin {
override def trigger = allRequirements
override val projectSettings: Seq[Def.Setting[_]] = Seq(
packageBin in Compile <<= (packageBin in Compile).map { a =>
println("project/compile::packageBin")
a
}
)
}
但这不起作用(至少不适用于 SBT 0.13.5 和 0.13.6-M1),我的 packageBin 版本永远不会被调用。如果我将以下行放入项目的 build.sbt 文件中,那么它可以工作。
packageBin in Compile <<= (packageBin in Compile).map { a => println("project/compile::packageBin"); a }
是否有可能通过 AutoPlugin 或经典插件实现这一点,如果可以,如何实现?
【问题讨论】:
标签: sbt sbt-plugin