mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rake.rb, lib/rake/*.rb: Upgrade to rake-10.3.2
[fix GH-668] * test/rake/*.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
031e1570b9
commit
6361928083
63 changed files with 1077 additions and 307 deletions
|
@ -31,9 +31,30 @@ module Rake
|
|||
begin
|
||||
rm_r file_name, opts
|
||||
rescue StandardError => ex
|
||||
puts "Failed to remove #{file_name}: #{ex}"
|
||||
puts "Failed to remove #{file_name}: #{ex}" unless file_already_gone?(file_name)
|
||||
end
|
||||
end
|
||||
|
||||
def file_already_gone?(file_name)
|
||||
return false if File.exist?(file_name)
|
||||
|
||||
path = file_name
|
||||
prev = nil
|
||||
|
||||
while path = File.dirname(path)
|
||||
return false if cant_be_deleted?(path)
|
||||
break if [prev, "."].include?(path)
|
||||
prev = path
|
||||
end
|
||||
true
|
||||
end
|
||||
private_class_method :file_already_gone?
|
||||
|
||||
def cant_be_deleted?(path_name)
|
||||
File.exist?(path_name) &&
|
||||
(!File.readable?(path_name) || !File.executable?(path_name))
|
||||
end
|
||||
private_class_method :cant_be_deleted?
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue