Skip to content
Snippets Groups Projects
Unverified Commit ea0e7f6d authored by Mike McQuaid's avatar Mike McQuaid
Browse files

cleanup: some speedup optimisations.

- avoid calling `rm_ds_store` multiple times when unnecessary
- use native Ruby method to remove `.DS_Store` files as it saves
  shelling out to `find` and is a bit quicker.
parent 1e725f48
No related branches found
No related tags found
No related merge requests found
......@@ -165,7 +165,7 @@ module Homebrew
def clean!(quiet: false, periodic: false)
if args.empty?
Formula.installed.sort_by(&:name).each do |formula|
cleanup_formula(formula, quiet: quiet)
cleanup_formula(formula, quiet: quiet, ds_store: false)
end
cleanup_cache
cleanup_logs
......@@ -210,17 +210,17 @@ module Homebrew
@unremovable_kegs ||= []
end
def cleanup_formula(formula, quiet: false)
def cleanup_formula(formula, quiet: false, ds_store: true)
formula.eligible_kegs_for_cleanup(quiet: quiet)
.each(&method(:cleanup_keg))
cleanup_cache(Pathname.glob(cache/"#{formula.name}--*"))
rm_ds_store([formula.rack])
rm_ds_store([formula.rack]) if ds_store
cleanup_lockfiles(FormulaLock.new(formula.name).path)
end
def cleanup_cask(cask)
def cleanup_cask(cask, ds_store: true)
cleanup_cache(Pathname.glob(cache/"Cask/#{cask.token}--*"))
rm_ds_store([cask.caskroom_path])
rm_ds_store([cask.caskroom_path]) if ds_store
cleanup_lockfiles(CaskLock.new(cask.token).path)
end
......@@ -383,11 +383,9 @@ module Homebrew
HOMEBREW_PREFIX/"Caskroom",
]
end
dirs.select(&:directory?).each do |dir|
system_command "find",
args: [dir, "-name", ".DS_Store", "-delete"],
print_stderr: false
end
dirs.select(&:directory?)
.flat_map { |d| Pathname.glob("#{d}/**/.DS_Store") }
.each(&:unlink)
end
def prune_prefix_symlinks_and_directories
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment