假设我要覆盖(替换)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 或经典插件实现这一点,如果可以,如何实现?