 0c85113053
			
		
	
	
		0c85113053
		
	
	
	
	
		
			
			- add `HOMEBREW_PRODUCT` global variable - only differentiate between `/usr/local` and `non-/usr/local` Homebrew prefixes to avoid sharing sensitive user information - note if e.g. build errors are occurring under CI - Add `HOMEBREW_NO_ANALYTICS` variable (this will be how people opt-out when this is enabled for everyone) - Add `HOMEBREW_ANALYTICS_DEBUG` variable to output all the analytics that are sent - Move Bash analytics code to `Library/Homebrew/utils/analytics.sh` - Add documentation for our analytics and why/what/when/how and opt-out - Only official Homebrew commands are reported - Ruby analytics are now reported in a forked, background process
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require "extend/module"
 | |
| require "extend/fileutils"
 | |
| require "extend/pathname"
 | |
| require "extend/ARGV"
 | |
| require "extend/string"
 | |
| require "extend/enumerable"
 | |
| require "os"
 | |
| require "utils"
 | |
| require "exceptions"
 | |
| require "set"
 | |
| require "rbconfig"
 | |
| 
 | |
| ARGV.extend(HomebrewArgvExtension)
 | |
| 
 | |
| HOMEBREW_PRODUCT = ENV["HOMEBREW_PRODUCT"]
 | |
| HOMEBREW_VERSION = ENV["HOMEBREW_VERSION"]
 | |
| HOMEBREW_WWW = "http://brew.sh"
 | |
| 
 | |
| require "config"
 | |
| 
 | |
| if RbConfig.respond_to?(:ruby)
 | |
|   RUBY_PATH = Pathname.new(RbConfig.ruby)
 | |
| else
 | |
|   RUBY_PATH = Pathname.new(RbConfig::CONFIG["bindir"]).join(
 | |
|     RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"]
 | |
|   )
 | |
| end
 | |
| RUBY_BIN = RUBY_PATH.dirname
 | |
| 
 | |
| HOMEBREW_USER_AGENT_CURL = ENV["HOMEBREW_USER_AGENT_CURL"]
 | |
| HOMEBREW_USER_AGENT_RUBY = "#{ENV["HOMEBREW_USER_AGENT"]} ruby/#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
 | |
| 
 | |
| HOMEBREW_CURL_ARGS = "-f#LA"
 | |
| 
 | |
| require "tap_constants"
 | |
| 
 | |
| module Homebrew
 | |
|   include FileUtils
 | |
|   extend self
 | |
| 
 | |
|   attr_accessor :failed
 | |
|   alias_method :failed?, :failed
 | |
| end
 | |
| 
 | |
| HOMEBREW_PULL_API_REGEX = %r{https://api\.github\.com/repos/([\w-]+)/([\w-]+)?/pulls/(\d+)}
 | |
| HOMEBREW_PULL_OR_COMMIT_URL_REGEX = %r[https://github\.com/([\w-]+)/([\w-]+)?/(?:pull/(\d+)|commit/[0-9a-fA-F]{4,40})]
 | |
| 
 | |
| require "compat" unless ARGV.include?("--no-compat") || ENV["HOMEBREW_NO_COMPAT"]
 | |
| 
 | |
| ORIGINAL_PATHS = ENV["PATH"].split(File::PATH_SEPARATOR).map { |p| Pathname.new(p).expand_path rescue nil }.compact.freeze
 | |
| 
 | |
| # TODO: remove this as soon as it's removed from commands.rb.
 | |
| HOMEBREW_INTERNAL_COMMAND_ALIASES = {
 | |
|   "ls" => "list",
 | |
|   "homepage" => "home",
 | |
|   "-S" => "search",
 | |
|   "up" => "update",
 | |
|   "ln" => "link",
 | |
|   "instal" => "install", # gem does the same
 | |
|   "rm" => "uninstall",
 | |
|   "remove" => "uninstall",
 | |
|   "configure" => "diy",
 | |
|   "abv" => "info",
 | |
|   "dr" => "doctor",
 | |
|   "--repo" => "--repository",
 | |
|   "environment" => "--env",
 | |
|   "--config" => "config"
 | |
| }
 |