PATH:
opt
/
alt
/
ruby26
/
lib64
/
ruby
/
gems
/
2.6.0
/
gems
/
rake-12.3.3
/
lib
/
rake
# frozen_string_literal: true # The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and # two rake tasks (:clean and :clobber). # # [:clean] Clean up the project by deleting scratch files and backup # files. Add files to the CLEAN file list to have the :clean # target handle them. # # [:clobber] Clobber all generated and non-source files in a project. # The task depends on :clean, so all the clean files will # be deleted as well as files in the CLOBBER file list. # The intent of this task is to return a project to its # pristine, just unpacked state. require "rake" # :stopdoc: 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 opts = { verbose: Rake.application.options.trace }.merge(opts) rm_r file_name, opts rescue StandardError => 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 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 Rake::Cleaner.cleanup_files(CLEAN) end CLOBBER = ::Rake::FileList.new desc "Remove any generated files." task clobber: [:clean] do Rake::Cleaner.cleanup_files(CLOBBER) end
[-] rake_module.rb
[edit]
[-] tasklib.rb
[edit]
[-] multi_task.rb
[edit]
[-] clean.rb
[edit]
[-] task_arguments.rb
[edit]
[+]
ext
[-] rule_recursion_overflow_error.rb
[edit]
[-] pseudo_status.rb
[edit]
[-] promise.rb
[edit]
[-] version.rb
[edit]
[-] task_argument_error.rb
[edit]
[-] late_time.rb
[edit]
[-] thread_pool.rb
[edit]
[+]
loaders
[-] dsl_definition.rb
[edit]
[-] early_time.rb
[edit]
[-] cloneable.rb
[edit]
[-] thread_history_display.rb
[edit]
[-] invocation_exception_mixin.rb
[edit]
[-] default_loader.rb
[edit]
[-] file_list.rb
[edit]
[-] rake_test_loader.rb
[edit]
[-] phony.rb
[edit]
[-] scope.rb
[edit]
[-] testtask.rb
[edit]
[-] name_space.rb
[edit]
[+]
..
[-] backtrace.rb
[edit]
[-] task_manager.rb
[edit]
[-] file_utils.rb
[edit]
[-] invocation_chain.rb
[edit]
[-] win32.rb
[edit]
[-] trace_output.rb
[edit]
[-] file_creation_task.rb
[edit]
[-] task.rb
[edit]
[-] application.rb
[edit]
[-] linked_list.rb
[edit]
[-] file_utils_ext.rb
[edit]
[-] file_task.rb
[edit]
[-] cpu_counter.rb
[edit]
[-] private_reader.rb
[edit]
[-] packagetask.rb
[edit]