diff --git a/Library/Homebrew/development_tools.rb b/Library/Homebrew/development_tools.rb index bec90038b1ad58e3dcbfea401d4a8ca39c1d31f8..b64c7b93124353f46ee44525060dc2ea94a4d360 100644 --- a/Library/Homebrew/development_tools.rb +++ b/Library/Homebrew/development_tools.rb @@ -99,6 +99,15 @@ class DevelopmentTools def subversion_handles_most_https_certificates? true end + + def build_system_info + { + "os" => ENV["HOMEBREW_SYSTEM"], + "os_version" => OS_VERSION, + "cpu_family" => Hardware::CPU.family, + } + end + alias generic_build_system_info build_system_info end end diff --git a/Library/Homebrew/extend/os/mac/development_tools.rb b/Library/Homebrew/extend/os/mac/development_tools.rb index e1b1d0e87b41e6b02f424bb9e3bbf12ec8d4892d..787196472a530c949dc43c962c8be27dcd61d7c5 100644 --- a/Library/Homebrew/extend/os/mac/development_tools.rb +++ b/Library/Homebrew/extend/os/mac/development_tools.rb @@ -56,5 +56,13 @@ class DevelopmentTools brew install gcc EOS end + + def build_system_info + build_info = { + "xcode" => MacOS::Xcode.version.to_s.presence, + "clt" => MacOS::CLT.version.to_s.presence, + } + generic_build_system_info.merge build_info + end end end diff --git a/Library/Homebrew/tab.rb b/Library/Homebrew/tab.rb index 8a3bdb13a1553d618d6fdc36e97b9382db0ba407..d146533e5ff0a09c97ccb3db6c471943e78c9b31 100644 --- a/Library/Homebrew/tab.rb +++ b/Library/Homebrew/tab.rb @@ -36,6 +36,7 @@ class Tab < OpenStruct "stdlib" => stdlib, "aliases" => formula.aliases, "runtime_dependencies" => Tab.runtime_deps_hash(runtime_deps), + "arch" => Hardware::CPU.arch, "source" => { "path" => formula.specified_path.to_s, "tap" => formula.tap&.name, @@ -47,6 +48,7 @@ class Tab < OpenStruct "version_scheme" => formula.version_scheme, }, }, + "built_on" => DevelopmentTools.build_system_info, } new(attributes) @@ -198,6 +200,7 @@ class Tab < OpenStruct "version_scheme" => 0, }, }, + "built_on" => DevelopmentTools.generic_build_system_info, } new(attributes) @@ -344,6 +347,7 @@ class Tab < OpenStruct "aliases" => aliases, "runtime_dependencies" => runtime_dependencies, "source" => source, + "built_on" => built_on, } JSON.generate(attributes, options) diff --git a/Library/Homebrew/test/caveats_spec.rb b/Library/Homebrew/test/caveats_spec.rb index ff010ff16155e2fa0daa67d9b672ca9ba3b1b389..b0ed28814d0b82b2151c2f07148eb9d4d6ce19b3 100644 --- a/Library/Homebrew/test/caveats_spec.rb +++ b/Library/Homebrew/test/caveats_spec.rb @@ -120,7 +120,7 @@ describe Caveats do "plist_test.plist" end end - allow(ENV).to receive(:[]).with("TMUX").and_return(true) + ENV["TMUX"] = "1" allow(Homebrew).to receive(:_system).with("/usr/bin/pbpaste").and_return(false) caveats = described_class.new(f).caveats