2015-03-31 16 views
6

在我们的Play项目中,我们遇到了这个问题。如何从汇编中排除文件夹

当我们运行我们的JavaScript测试时,它触发了一个scala源代码的编译。

所有javascripts测试都在test/assets之下,并且此路径中的任何更改都不应触发源代码的编译。

这意味着此文件夹在某处被称为源目录。我试图看到哪个sbt属性可以引用这个文件夹,但我没有找到任何。

任何人都可以提供一些线索,如何防止编译触发当此文件夹内的文件更改?

+0

不是一个解决方案,但另一个数据点将重命名文件夹“donotcompile”或任何,看看问题是否仍然存在。换句话说,名称“测试”是否重要? – 2015-03-31 16:18:24

+0

如果在sbt/activator控制台中运行'show unmanagedSourceDirectory'或'show unmanagedResourceDirectory',tests目录会列出?你确定当你运行你的js测试时,只有那个dir被改变了吗?顺便说一句你用什么来运行你的js测试? – Salem 2015-03-31 21:07:53

+0

当我运行这些命令时,测试目录不显示。这就是为什么我不知道它为什么会导致汇编。我试图检查其他sbt属性,我找不到任何地方的测试目录的参考。我没有检查他们,只有明显的。 我们的js测试使用grunt运行。我们所有的资产都由grunt/gulp管理,不能播放。 – rmorais 2015-04-01 11:02:52

回答

0

watchSources任务似乎包含要跟踪更改的文件。要检查文件夹/文件列表输入SBT如下:

>show watchSources 

我不知道这是最简单的解决方案,但它会从watchSources内取出test/assets

watchSources <<= watchSources.map{ 
    t => t.filterNot(x => x.getCanonicalPath.endsWith("test/assets")) 
} 
+0

有没有人见过'sbt 1.0.x'的解决方案? – adu 2018-02-06 22:46:34