1

有人可以帮我让play-plovr-plugin工作吗?好像没有触发。我在插件中有以下代码,但我似乎无法从我的 Play 2.3 项目中触发插件:

override def projectSettings: Seq[Setting[_]] =
    inConfig(Assets)(basePlovrSettings) ++
    inConfig(TestAssets)(basePlovrSettings) ++
    Seq(
      plovr in Assets := (plovr in Assets).dependsOn(WebKeys.webModules in Assets).value,
      plovr in TestAssets := (plovr in TestAssets).dependsOn(WebKeys.webModules in TestAssets).value
    )
4

1 回答 1

2

首先,您的插件已激活。您可以通过执行来检查它about,其中列出了所有插件。其中你的插件。

[info] Available Plugins: ... com.benmccann.playplovr.PlayPlovrPlugin...

这意味着您可以通过web-assets:plovr.

但是,正如您所提到的,您希望它通过编译的方式执行。你可以说你的任务是由编译触发的。

在你projectSettings添加

plovr in Assets <<= (plovr in Assets).triggeredBy(compile in Compile)

例如

override def projectSettings: Seq[Setting[_]] =
    inConfig(Assets)(basePlovrSettings) ++
    inConfig(TestAssets)(basePlovrSettings) ++
    Seq(
      plovr in Assets := (plovr in Assets).dependsOn(WebKeys.webModules in Assets).value,
      plovr in TestAssets := (plovr in TestAssets).dependsOn(WebKeys.webModules in TestAssets).value,
      plovr in Assets <<= (plovr in Assets).triggeredBy(compile in Compile)
    )

简单总结一下,

  override def requires = SbtWeb

  override def trigger = AllRequirements

将激活您的插件(如您在 中所见about)并添加其设置,但您必须告诉它您想要的设置。你可以阅读有趣的文章,它应该解释它。

于 2014-06-12T20:26:40.177 回答