如何仅从编译范围中排除非托管资源(而不是从测试范围)

时间:2013-10-01 17:19:31

标签: scala testing settings sbt unmanagedresources

在我的一个子项目中,我试图从我的非托管资源列表中排除* .conf和* .groovy文件:

excludeFilter in Compile in unmanagedResources  := "*.conf" || "*.groovy"

现在,这可以工作,但是会从Test中删除* .conf文件产生意想不到的效果。 我尝试添加以下includeFilter设置:

includeFilter in Test in unmanagedResources := "*.conf"

然而,这不起作用。 我认为测试和编译之间存在可能导致此问题的关系。 任何的意见都将会有帮助。 谢谢。

1 个答案:

答案 0 :(得分:1)

这里有两个问题,你已经确定了主要问题,即Test和Compile之间的关系。另一个是includeFilter必须包含文件,而excludeFilter不能排除该文件。

如果没有为Test明确指定,则测试从Compile获取其设置。定义excludeFilter in Compile时,它也适用于Test。因此,您可以将excludeFilter in Test定义为默认值,即忽略隐藏文件:

excludeFilter in Test := HiddenFileFilter

(或者,您可以使用NoFilter没有任何排除。)