什么是使用CLEAN rake任务的正确方法?

时间:2014-12-04 20:37:02

标签: ruby rake rake-task

这就是我在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

我不喜欢这些警告..什么是正确的方法?

2 个答案:

答案 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'])

清理您的承保文件。