diff --git a/Library/Homebrew/cleanup.rb b/Library/Homebrew/cleanup.rb index 3e4e624dc2..45e3b35ddc 100644 --- a/Library/Homebrew/cleanup.rb +++ b/Library/Homebrew/cleanup.rb @@ -36,7 +36,7 @@ module CleanupRefinement end def nested_cache? - directory? && %w[go_cache glide_home java_cache npm_cache gclient_cache].include?(basename.to_s) + directory? && %w[cargo_cache go_cache glide_home java_cache npm_cache gclient_cache].include?(basename.to_s) end def go_cache_directory? diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index af2c449d7e..e1e5262fe0 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -1680,6 +1680,7 @@ class Formula HOMEBREW_PATH: nil, _JAVA_OPTIONS: "#{ENV["_JAVA_OPTIONS"]} -Duser.home=#{HOMEBREW_CACHE}/java_cache", GOCACHE: "#{HOMEBREW_CACHE}/go_cache", + CARGO_HOME: "#{HOMEBREW_CACHE}/cargo_cache", } ENV.clear_sensitive_environment! @@ -2034,6 +2035,7 @@ class Formula stage_env[:_JAVA_OPTIONS] = "#{ENV["_JAVA_OPTIONS"]} -Duser.home=#{HOMEBREW_CACHE}/java_cache" stage_env[:GOCACHE] = "#{HOMEBREW_CACHE}/go_cache" + stage_env[:CARGO_HOME] = "#{HOMEBREW_CACHE}/cargo_cache" stage_env[:CURL_HOME] = ENV["CURL_HOME"] || ENV["HOME"] end diff --git a/Library/Homebrew/test/cleanup_spec.rb b/Library/Homebrew/test/cleanup_spec.rb index 6df872f20d..3ec556fdeb 100644 --- a/Library/Homebrew/test/cleanup_spec.rb +++ b/Library/Homebrew/test/cleanup_spec.rb @@ -225,6 +225,15 @@ describe Homebrew::Cleanup do expect(incomplete).not_to exist end + it "cleans up 'cargo_cache'" do + cargo_cache = (HOMEBREW_CACHE/"cargo_cache") + cargo_cache.mkpath + + subject.cleanup_cache + + expect(cargo_cache).not_to exist + end + it "cleans up 'go_cache'" do go_cache = (HOMEBREW_CACHE/"go_cache") go_cache.mkpath