From db1054be7b2f5d59c2cb07ce9bf3ee1110885a8c Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Thu, 31 Aug 2017 00:04:27 +0100 Subject: [PATCH 1/3] formula: manipulate Java's home usage by default --- Library/Homebrew/formula.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 8cea85a995..2f0c913c21 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -1613,6 +1613,7 @@ class Formula def run_test @prefix_returns_versioned_prefix = true old_home = ENV["HOME"] + old_java_opts = ENV["_JAVA_OPTIONS"] old_curl_home = ENV["CURL_HOME"] old_tmpdir = ENV["TMPDIR"] old_temp = ENV["TEMP"] @@ -1626,6 +1627,7 @@ class Formula ENV["TERM"] = "dumb" ENV["PATH"] = PATH.new(old_path).append(HOMEBREW_PREFIX/"bin") ENV["HOMEBREW_PATH"] = nil + ENV["_JAVA_OPTIONS"] = "#{old_java_opts} -Duser.home=#{HOMEBREW_CACHE}/java_cache" ENV.clear_sensitive_environment! @@ -1646,6 +1648,7 @@ class Formula ensure @testpath = nil ENV["HOME"] = old_home + ENV["_JAVA_OPTIONS"] = old_java_opts ENV["CURL_HOME"] = old_curl_home ENV["TMPDIR"] = old_tmpdir ENV["TEMP"] = old_temp @@ -1888,11 +1891,13 @@ class Formula mkdir_p env_home old_home = ENV["HOME"] + old_java_opts = ENV["_JAVA_OPTIONS"] old_curl_home = ENV["CURL_HOME"] old_path = ENV["HOMEBREW_PATH"] unless ARGV.interactive? ENV["HOME"] = env_home + ENV["_JAVA_OPTIONS"] = "#{old_java_opts} -Duser.home=#{HOMEBREW_CACHE}/java_cache" ENV["CURL_HOME"] = old_curl_home || old_home end ENV["HOMEBREW_PATH"] = nil @@ -1907,6 +1912,7 @@ class Formula @buildpath = nil unless ARGV.interactive? ENV["HOME"] = old_home + ENV["_JAVA_OPTIONS"] = old_java_opts ENV["CURL_HOME"] = old_curl_home end ENV["HOMEBREW_PATH"] = old_path From 0cb6307f2d5207c794760727df579cd8015b23e9 Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Thu, 31 Aug 2017 00:09:14 +0100 Subject: [PATCH 2/3] ENV: move java_cache to compat for future hard deprecation --- Library/Homebrew/compat/ENV/shared.rb | 4 ++++ Library/Homebrew/extend/ENV/shared.rb | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/compat/ENV/shared.rb b/Library/Homebrew/compat/ENV/shared.rb index 200e7b132b..c700b1e00a 100644 --- a/Library/Homebrew/compat/ENV/shared.rb +++ b/Library/Homebrew/compat/ENV/shared.rb @@ -3,4 +3,8 @@ module SharedEnvExtension odeprecated "ENV.j1", "ENV.deparallelize" deparallelize end + + def java_cache + # odeprecated "ENV.java_cache" + end end diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb index b51ade48b9..15488ee191 100644 --- a/Library/Homebrew/extend/ENV/shared.rb +++ b/Library/Homebrew/extend/ENV/shared.rb @@ -260,10 +260,6 @@ module SharedEnvExtension set_cpu_flags(flags) end - def java_cache - append "_JAVA_OPTIONS", "-Duser.home=#{HOMEBREW_CACHE}/java_cache" - end - # ld64 is a newer linker provided for Xcode 2.5 # @private def ld64 From f301e5c4f4a3094aa9a1a1cf76a34efbd04b838d Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Thu, 31 Aug 2017 21:33:09 +0100 Subject: [PATCH 3/3] audit: add a nudge to remove ENV.java_cache --- Library/Homebrew/dev-cmd/audit.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index be332481ca..3c6867f451 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -869,6 +869,10 @@ class FormulaAuditor problem "Use \"depends_on :x11\" instead of \"ENV.x11\"" end + if line.include?("ENV.java_cache") + problem "In-formula ENV.java_cache usage has been deprecated & should be removed." + end + # Avoid hard-coding compilers if line =~ %r{(system|ENV\[.+\]\s?=)\s?['"](/usr/bin/)?(gcc|llvm-gcc|clang)['" ]} problem "Use \"\#{ENV.cc}\" instead of hard-coding \"#{Regexp.last_match(3)}\""