Revolver / Spray的自定义resourceDirectory

时间:2015-02-24 23:52:39

标签: sbt spray sbt-revolver

我有一个Spray应用程序,其基本前端组件包含src / main / frontend中的源代码,以及Spray默认资源位置src / main / resources中的已部署版本(已编译的sass,minification等)。我想将资源目录更改为仅用于Revolver的re-start任务的src / main / frontend,以便在开发时更快地查看更改。

我尝试添加设置

resourceDirectory in Revolver.reStart <<= baseDirectory(_ / "src" / "main" / "frontend")

但它似乎没有效果。我猜是因为resourceDirectoryCompile范围内的设置,而不是Revolver本身的设置。在SBT控制台中:

> reStart:resourceDirectory
[info] /Users/cartew01/workspace/applaudio-spray/src/main/frontend
> compile:resourceDirectory
[info] /Users/cartew01/workspace/applaudio-spray/src/main/resources

有谁知道如何为re-start任务更改此内容,而不是其他任何内容?可能通过创建一个自定义任务,调用其他设置重新启动?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您应该将另一个资源目录添加到reStart中的fullClasspath,例如(fullClasspath in Revolver.reStart) += (WebKeys.public in Assets in web).value,或者fullClasspath in Revolver.reStart += baseDirectory(_ / "src" / "main" / "frontend") - 实际上,getFromResourceDirectory和{{1}将从类路径中提供内容。

为了更好地理解它,我建议运行getFromResource - 它取决于inspect reStart,而compile:products又取决于compile:copyResourcescompile:resourceDirectories又取决于{{1}}。因此,reStart将使用编译器生成的任何内容,即从某处复制的资源。上面的解决方案似乎更容易