在 Buildr 中,您可以通过执行以下操作排除目录中的所有文件:
resources.exclude 'scratch/*'
是否也可以排除目录?Buildr 文档提到:
过滤器总是排除 CVS 和 .svn 目录,以及所有以 .bak 或 ~ 结尾的文件,因此无需担心这些。
我的公司使用Dimensions 作为其源代码控制,它在每个目录中创建一个.metadata 文件夹,就像subversion 对.svn 文件夹所做的那样。
在 Buildr 中,您可以通过执行以下操作排除目录中的所有文件:
resources.exclude 'scratch/*'
是否也可以排除目录?Buildr 文档提到:
过滤器总是排除 CVS 和 .svn 目录,以及所有以 .bak 或 ~ 结尾的文件,因此无需担心这些。
我的公司使用Dimensions 作为其源代码控制,它在每个目录中创建一个.metadata 文件夹,就像subversion 对.svn 文件夹所做的那样。
这些排除实际上继承自 Rake (rake/file_list.rb)
module Rake
...
class FileList
...
DEFAULT_IGNORE_PATTERNS = [
/(^|[\/\\])CVS([\/\\]|$)/,
/(^|[\/\\])\.svn([\/\\]|$)/,
/\.bak$/,
/~$/
]
...
end
end
因此,如果您想要的话,可以对默认值进行猴子修补。
或者,您也可以FileList
通过传递一个块并调用该exclude
方法直接在 a 上添加排除项,
pkg_files = FileList.new('lib/**/*') do |fl|
fl.exclude(/\bCVS\b/)
end
由于 Buildr 过滤器(http://buildr.apache.org/rdoc/classes/Buildr/Filter.html)暴露了它们的底层FileList
,你可以简单地做:
resources.sources do |fl|
fl.exclude(/\.metadata/)
end