diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-11 21:35:01 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-11 21:35:01 +0000 |
commit | 9cadc95b28da1cf6ca8f802292d12cc96a4f2c2d (patch) | |
tree | 73280968d3426b31c5d0b9da1d3e558aa6f9fcb9 /lib/rake/clean.rb | |
parent | 52c1331763d8b9b8d6362987e6f8847b65ed7f57 (diff) | |
download | ruby-9cadc95b28da1cf6ca8f802292d12cc96a4f2c2d.tar.gz |
* NEWS (with all sufficient information):
* lib/rake: Update to rake 10.1.0
* bin/rake: ditto.
* test/rake: ditto.
* NEWS: Update NEWS to include rake 10.1.0 and links to release notes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rake/clean.rb')
-rw-r--r-- | lib/rake/clean.rb | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/lib/rake/clean.rb b/lib/rake/clean.rb index 32846d4a6d..8001ce569a 100644 --- a/lib/rake/clean.rb +++ b/lib/rake/clean.rb @@ -14,19 +14,42 @@ require 'rake' # :stopdoc: -CLEAN = Rake::FileList["**/*~", "**/*.bak", "**/core"] + +module Rake + module Cleaner + extend FileUtils + + module_function + + def cleanup_files(file_names) + file_names.each do |file_name| + cleanup(file_name) + end + end + + def cleanup(file_name, opts={}) + begin + rm_r file_name, opts + rescue StandardError => ex + puts "Failed to remove #{file_name}: #{ex}" + end + end + end +end + +CLEAN = ::Rake::FileList["**/*~", "**/*.bak", "**/core"] CLEAN.clear_exclude.exclude { |fn| fn.pathmap("%f").downcase == 'core' && File.directory?(fn) } desc "Remove any temporary products." task :clean do - CLEAN.each { |fn| rm_r fn rescue nil } + Rake::Cleaner.cleanup_files(CLEAN) end -CLOBBER = Rake::FileList.new +CLOBBER = ::Rake::FileList.new desc "Remove any generated file." task :clobber => [:clean] do - CLOBBER.each { |fn| rm_r fn rescue nil } + Rake::Cleaner.cleanup_files(CLOBBER) end |