2015-03-31 14 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