这就是我在Rakefile中尝试做的事情:
require 'rake/clean'
CLEAN = ['coverage']
这就是我在日志中看到的内容:
$ rake
/code/foo/Rakefile:29: warning: already initialized constant CLEAN
/Users/foo/.rvm/gems/ruby-2.1.3/gems/rake-10.3.2/lib/rake/clean.rb:61: warning: previous definition of CLEAN was here
我不喜欢这些警告..什么是正确的方法?
答案 0 :(得分:11)
CLEAN
是预定义clean
任务使用的FileList
。要添加要清理的文件,请将它们添加到此列表中。您可以使用include
方法:
require 'rake/clean'
CLEAN.include 'coverage'
现在运行rake clean
将删除您的文件,以及预定义的临时文件集(如果有任何已创建的bean)。
答案 1 :(得分:4)
'rake/clean'
已定义常量CLEAN
,如此:CLEAN = ::Rake::FileList["**/*~", "**/*.bak", "**/core"]
。常量并不意味着被覆盖(虽然ruby会让你)。如果要指定要清理的文件,则应创建与现有文件类似的rake任务。
现有任务运行:
Rake::Cleaner.cleanup_files(CLEAN)
所以你可以跑:
Rake::Cleaner.cleanup_files(['coverage'])
清理您的承保文件。