0

在 Buildr 中,您可以通过执行以下操作排除目录中的所有文件:

resources.exclude 'scratch/*'

是否也可以排除目录?Buildr 文档提到:

过滤器总是排除 CVS 和 .svn 目录,以及所有以 .bak 或 ~ 结尾的文件,因此无需担心这些。

我的公司使用Dimensions 作为其源代码控制,它在每个目录中创建一个.metadata 文件夹,就像subversion 对.svn 文件夹所做的那样。

4

1 回答 1

0

这些排除实际上继承自 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
于 2011-08-04T14:11:39.213 回答