diff options
| author | Mike McQuaid | 2017-05-07 13:52:57 +0100 | 
|---|---|---|
| committer | Mike McQuaid | 2017-05-07 13:52:57 +0100 | 
| commit | ee253e465b8e2f5acdb53daf572311e87055e082 (patch) | |
| tree | 59d478b0a91845c3706e6cd312e7d3469c0a594a | |
| parent | 6edf9382bcc1240ad6f97c8b752cfe56cef9965d (diff) | |
| download | brew-ee253e465b8e2f5acdb53daf572311e87055e082.tar.bz2 | |
Vendor all Homebrew's gems.
Homebrew's actually ended up using a fair few gems. While we want to
avoid Bundler at runtime (and this PR still does that, in fact uses
Bundler even less at runtime than it did before) writing our own version
to use at build-time seems redundant.
43 files changed, 315 insertions, 183 deletions
diff --git a/.bundle/config b/.bundle/config new file mode 100644 index 000000000..0007666fd --- /dev/null +++ b/.bundle/config @@ -0,0 +1,5 @@ +--- +BUNDLE_CLEAN: "true" +BUNDLE_DISABLE_SHARED_GEMS: "true" +BUNDLE_PATH: "Library/Homebrew/vendor" +BUNDLE_JOBS: "3" diff --git a/.gitignore b/.gitignore index f7770612e..5708a50f5 100644 --- a/.gitignore +++ b/.gitignore @@ -8,15 +8,10 @@  !/Library/  # Ignore generated files within `Library` (again). -/Library/Homebrew/**/.bundle -/Library/Homebrew/**/vendor/bundle  /Library/Homebrew/doc  /Library/Homebrew/cask/bin  /Library/Homebrew/cask/coverage  /Library/Homebrew/cask/tmp -/Library/Homebrew/test/bin -/Library/Homebrew/test/coverage -/Library/Homebrew/test/fs_leak_log  /Library/Homebrew/tmp  /Library/LinkedKegs  /Library/Locks @@ -24,8 +19,24 @@  /Library/PinnedTaps  /Library/Taps -# Ignore vendored files within `Library`. +# Ignore some vendored files within `Library`.  /Library/Homebrew/vendor/portable-ruby +/Library/Homebrew/vendor/ruby/2.0.0/bin +/Library/Homebrew/vendor/ruby/2.0.0/cache +/Library/Homebrew/vendor/ruby/2.0.0/extensions +/Library/Homebrew/vendor/ruby/2.0.0/gems/* +/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-*/* +/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-*/* +/Library/Homebrew/vendor/ruby/2.0.0/specifications +/Library/Homebrew/vendor/ruby/2.0.0/tmp + +# Unignore our vendored gems +!/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-* +!/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-*/LICENSE* +!/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-*/lib +!/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-* +!/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-*/LICENSE* +!/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-*/lib  # Ignore `bin` contents (again).  /bin @@ -50,13 +61,13 @@  !/completions  # Unignore our root-level metadata files. +!/.bundle  !/.gitignore  !/.travis.yml  !/.yardopts  !/CODEOFCONDUCT.md  !/CONTRIBUTING.md +!/Gemfile +!/Gemfile.lock  !/LICENSE.txt  !/README.md - -# Unignore tests' bundle config -!/Library/Homebrew/test/.bundle diff --git a/.travis.yml b/.travis.yml index 5e1906a5c..f268e40ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,6 @@  language: ruby -cache: -  directories: -    - $HOME/.gem/ruby -    - Library/Homebrew/vendor/bundle +bundler_args: --path Library/Homebrew/vendor --standalone --jobs 3 +cache: bundler  matrix:    include: @@ -13,6 +11,9 @@ matrix:        rvm: 2.0.0  before_install: +  - export GEM_HOME="$PWD/Library/Homebrew/vendor/ruby/2.0.0" +  - gem list --installed bundler || gem install bundler +  - export PATH="$GEM_HOME/bin:$PATH"    - export HOMEBREW_DEVELOPER=1    - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then        HOMEBREW_REPOSITORY="$(brew --repo)"; diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..d39abd77a --- /dev/null +++ b/Gemfile @@ -0,0 +1,36 @@ +source "https://rubygems.org" + +# brew * +gem "ruby-macho" + +# brew cask +gem "plist" + +# brew cask style +group :cask_style do +  gem "rubocop-cask", "~> 0.12.0" +end + +# brew man +group :man do +  gem "ronn" +end + +# brew style +group :style do +  gem "rubocop", "~> 0.47.1" +end + +# brew tests +group :tests do +  gem "parallel_tests" +  gem "rspec" +  gem "rspec-its", require: false +  gem "rspec-wait", require: false +end + +# brew tests --coverage +group :coverage do +  gem "codecov", require: false +  gem "simplecov", require: false +end diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..be4521e0e --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,84 @@ +GEM +  remote: https://rubygems.org/ +  specs: +    ast (2.3.0) +    codecov (0.1.10) +      json +      simplecov +      url +    diff-lcs (1.3) +    docile (1.1.5) +    hpricot (0.8.6) +    json (2.1.0) +    mustache (1.0.5) +    parallel (1.11.1) +    parallel_tests (2.14.1) +      parallel +    parser (2.4.0.0) +      ast (~> 2.2) +    plist (3.3.0) +    powerpack (0.1.1) +    public_suffix (2.0.5) +    rainbow (2.2.2) +      rake +    rake (12.0.0) +    rdiscount (2.2.0.1) +    ronn (0.7.3) +      hpricot (>= 0.8.2) +      mustache (>= 0.7.0) +      rdiscount (>= 1.5.8) +    rspec (3.6.0) +      rspec-core (~> 3.6.0) +      rspec-expectations (~> 3.6.0) +      rspec-mocks (~> 3.6.0) +    rspec-core (3.6.0) +      rspec-support (~> 3.6.0) +    rspec-expectations (3.6.0) +      diff-lcs (>= 1.2.0, < 2.0) +      rspec-support (~> 3.6.0) +    rspec-its (1.2.0) +      rspec-core (>= 3.0.0) +      rspec-expectations (>= 3.0.0) +    rspec-mocks (3.6.0) +      diff-lcs (>= 1.2.0, < 2.0) +      rspec-support (~> 3.6.0) +    rspec-support (3.6.0) +    rspec-wait (0.0.9) +      rspec (>= 3, < 4) +    rubocop (0.47.1) +      parser (>= 2.3.3.1, < 3.0) +      powerpack (~> 0.1) +      rainbow (>= 1.99.1, < 3.0) +      ruby-progressbar (~> 1.7) +      unicode-display_width (~> 1.0, >= 1.0.1) +    rubocop-cask (0.12.0) +      public_suffix (~> 2.0) +      rubocop (~> 0.47.1) +    ruby-macho (1.1.0) +    ruby-progressbar (1.8.1) +    simplecov (0.14.1) +      docile (~> 1.1.0) +      json (>= 1.8, < 3) +      simplecov-html (~> 0.10.0) +    simplecov-html (0.10.0) +    unicode-display_width (1.2.1) +    url (0.3.2) + +PLATFORMS +  ruby + +DEPENDENCIES +  codecov +  parallel_tests +  plist +  ronn +  rspec +  rspec-its +  rspec-wait +  rubocop (~> 0.47.1) +  rubocop-cask (~> 0.12.0) +  ruby-macho +  simplecov + +BUNDLED WITH +   1.14.6 diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index e07599ac6..6dab50f29 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -8,9 +8,14 @@ std_trap = trap("INT") { exit! 130 } # no backtrace thanks  RUBY_TWO = RUBY_VERSION.split(".").first.to_i >= 2  raise "Homebrew must be run under Ruby 2!" unless RUBY_TWO +homebrew_library_path = File.dirname(File.realpath(__FILE__)) +$:.unshift(homebrew_library_path) + +require_relative "#{homebrew_library_path}/vendor/bundler/setup" +  require "pathname" -HOMEBREW_LIBRARY_PATH = Pathname.new(__FILE__).realpath.parent -$:.unshift(HOMEBREW_LIBRARY_PATH.to_s) +HOMEBREW_LIBRARY_PATH = Pathname.new(homebrew_library_path) +  require "global"  require "tap" @@ -20,6 +25,8 @@ if ARGV == %w[--version] || ARGV == %w[-v]    exit 0  end +HOMEBREW_GEM_HOME = HOMEBREW_LIBRARY_PATH/"vendor/#{RUBY_ENGINE}/#{RUBY_VERSION}" +  def require?(path)    require path  rescue LoadError => e @@ -52,6 +59,14 @@ begin    # Add contributed commands to PATH before checking.    path.append(Pathname.glob(Tap::TAP_DIRECTORY/"*/*/cmd")) +  # Add RubyGems. +  ENV["GEM_HOME"] = ENV["GEM_PATH"] = HOMEBREW_GEM_HOME +  path.append(HOMEBREW_GEM_HOME/"bin") + +  # Make RubyGems notice environment changes. +  Gem.clear_paths +  Gem::Specification.reset +    # Add SCM wrappers.    path.append(HOMEBREW_SHIMS_PATH/"scm") diff --git a/Library/Homebrew/cask/lib/hbc/artifact/pkg.rb b/Library/Homebrew/cask/lib/hbc/artifact/pkg.rb index c43481c82..1ba2b4b97 100644 --- a/Library/Homebrew/cask/lib/hbc/artifact/pkg.rb +++ b/Library/Homebrew/cask/lib/hbc/artifact/pkg.rb @@ -2,7 +2,7 @@ require "hbc/artifact/base"  require "hbc/utils/hash_validator" -require "vendor/plist/plist" +require "plist"  module Hbc    module Artifact diff --git a/Library/Homebrew/cask/lib/hbc/cli/style.rb b/Library/Homebrew/cask/lib/hbc/cli/style.rb index 191aefd3c..930742ed7 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/style.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/style.rb @@ -26,7 +26,7 @@ module Hbc        def install_rubocop          capture_stderr do            begin -            Homebrew.install_gem_setup_path! "rubocop-cask", HOMEBREW_RUBOCOP_CASK_VERSION, "rubocop" +            Homebrew.run_bundler_if_needed!            rescue SystemExit              raise CaskError, Tty.strip_ansi($stderr.string).chomp.sub(/\AError: /, "")            end diff --git a/Library/Homebrew/cask/lib/hbc/container/executable.rb b/Library/Homebrew/cask/lib/hbc/container/executable.rb index 848f6d4be..61bd4ef9b 100644 --- a/Library/Homebrew/cask/lib/hbc/container/executable.rb +++ b/Library/Homebrew/cask/lib/hbc/container/executable.rb @@ -1,5 +1,5 @@  require "hbc/container/naked" -require "vendor/macho/macho" +require "macho"  module Hbc    class Container diff --git a/Library/Homebrew/cask/lib/hbc/system_command.rb b/Library/Homebrew/cask/lib/hbc/system_command.rb index c14079bc8..d610f0fde 100644 --- a/Library/Homebrew/cask/lib/hbc/system_command.rb +++ b/Library/Homebrew/cask/lib/hbc/system_command.rb @@ -1,6 +1,6 @@  require "open3"  require "shellwords" -require "vendor/plist/plist" +require "plist"  require "extend/io" diff --git a/Library/Homebrew/cmd/style.rb b/Library/Homebrew/cmd/style.rb index cf41d91ee..48ec3ee2e 100644 --- a/Library/Homebrew/cmd/style.rb +++ b/Library/Homebrew/cmd/style.rb @@ -65,7 +65,7 @@ module Homebrew    def check_style_impl(files, output_type, options = {})      fix = options[:fix] -    Homebrew.install_gem_setup_path! "rubocop", HOMEBREW_RUBOCOP_VERSION +    Homebrew.run_bundler_if_needed!      require "rubocop"      require_relative "../rubocops" diff --git a/Library/Homebrew/config.rb b/Library/Homebrew/config.rb index 30b7bc6c9..38d7c8043 100644 --- a/Library/Homebrew/config.rb +++ b/Library/Homebrew/config.rb @@ -2,8 +2,6 @@ unless ENV["HOMEBREW_BREW_FILE"]    raise "HOMEBREW_BREW_FILE was not exported! Please call bin/brew directly!"  end -require "constants" -  # Path to `bin/brew` main executable in HOMEBREW_PREFIX  HOMEBREW_BREW_FILE = Pathname.new(ENV["HOMEBREW_BREW_FILE"]) diff --git a/Library/Homebrew/constants.rb b/Library/Homebrew/constants.rb deleted file mode 100644 index 827d5827f..000000000 --- a/Library/Homebrew/constants.rb +++ /dev/null @@ -1,3 +0,0 @@ -# RuboCop version used for `brew style` and `brew cask style` -HOMEBREW_RUBOCOP_VERSION = "0.47.1".freeze -HOMEBREW_RUBOCOP_CASK_VERSION = "~> 0.12.0".freeze # has to be updated when RuboCop version changes diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index cb25ca794..9ea3faf11 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -65,6 +65,9 @@ module Homebrew      ENV.activate_extensions!      ENV.setup_build_environment +    # Add RubyGems (for RuboCop). +    ENV["PATH"] = PATH.new(ENV["PATH"]).append(HOMEBREW_GEM_HOME/"bin") +      if ARGV.named.empty?        ff = Formula        files = Tap.map(&:formula_dir) diff --git a/Library/Homebrew/dev-cmd/man.rb b/Library/Homebrew/dev-cmd/man.rb index 4e5103910..6e71c248b 100644 --- a/Library/Homebrew/dev-cmd/man.rb +++ b/Library/Homebrew/dev-cmd/man.rb @@ -35,7 +35,7 @@ module Homebrew    end    def regenerate_man_pages -    Homebrew.install_gem_setup_path! "ronn" +    Homebrew.run_bundler_if_needed!      markup = build_man_page      convert_man_page(markup, TARGET_DOC_PATH/"Manpage.md") diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index 72d6143fc..da1f5365c 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -49,8 +49,6 @@ module Homebrew          FileUtils.rm_f "test/coverage/.resultset.json"        end -      ENV["BUNDLE_GEMFILE"] = "#{HOMEBREW_LIBRARY_PATH}/test/Gemfile" -        # Override author/committer as global settings might be invalid and thus        # will cause silent failure during the setup of dummy Git repositories.        %w[AUTHOR COMMITTER].each do |role| @@ -59,10 +57,7 @@ module Homebrew          ENV["GIT_#{role}_DATE"]  = "Sun Jan 22 19:59:13 2017 +0000"        end -      Homebrew.install_gem_setup_path! "bundler" -      unless quiet_system("bundle", "check") -        system "bundle", "install" -      end +      Homebrew.run_bundler_if_needed!        parallel = true @@ -106,10 +101,15 @@ module Homebrew          files = files.reject { |p| p =~ %r{^test/os/linux(/.*|_spec\.rb)$} }        end -      if parallel -        system "bundle", "exec", "parallel_rspec", *opts, "--", *args, "--", *files -      else -        system "bundle", "exec", "rspec", *args, "--", *files +      files.map! { |p| HOMEBREW_LIBRARY_PATH/p } + +      (HOMEBREW_LIBRARY_PATH/"vendor/#{RUBY_ENGINE}/#{RUBY_VERSION}").cd do +        if parallel +          system "parallel_rspec", *opts, "--", *args, "--", *files +        else +          system "rspec", *args, "--", *files +        end +        FileUtils.rm_rf "tmp"        end        return if $?.success? diff --git a/Library/Homebrew/os/mac/mach.rb b/Library/Homebrew/os/mac/mach.rb index 9b53c4979..71f501fe9 100644 --- a/Library/Homebrew/os/mac/mach.rb +++ b/Library/Homebrew/os/mac/mach.rb @@ -1,4 +1,4 @@ -require "vendor/macho/macho" +require "macho"  require "os/mac/architecture_list"  module MachOShim diff --git a/Library/Homebrew/test/Gemfile b/Library/Homebrew/test/Gemfile deleted file mode 100644 index f3c16c710..000000000 --- a/Library/Homebrew/test/Gemfile +++ /dev/null @@ -1,12 +0,0 @@ -source "https://rubygems.org" - -gem "parallel_tests" -gem "rspec" -gem "rubocop" -gem "rspec-its", require: false -gem "rspec-wait", require: false - -group :coverage do -  gem "simplecov", require: false -  gem "codecov", require: false -end diff --git a/Library/Homebrew/test/Gemfile.lock b/Library/Homebrew/test/Gemfile.lock deleted file mode 100644 index 4d4eefd7d..000000000 --- a/Library/Homebrew/test/Gemfile.lock +++ /dev/null @@ -1,65 +0,0 @@ -GEM -  remote: https://rubygems.org/ -  specs: -    ast (2.3.0) -    codecov (0.1.9) -      json -      simplecov -      url -    diff-lcs (1.3) -    docile (1.1.5) -    json (2.0.3) -    parallel (1.10.0) -    parallel_tests (2.13.0) -      parallel -    parser (2.4.0.0) -      ast (~> 2.2) -    powerpack (0.1.1) -    rainbow (2.2.1) -    rspec (3.5.0) -      rspec-core (~> 3.5.0) -      rspec-expectations (~> 3.5.0) -      rspec-mocks (~> 3.5.0) -    rspec-core (3.5.4) -      rspec-support (~> 3.5.0) -    rspec-expectations (3.5.0) -      diff-lcs (>= 1.2.0, < 2.0) -      rspec-support (~> 3.5.0) -    rspec-its (1.2.0) -      rspec-core (>= 3.0.0) -      rspec-expectations (>= 3.0.0) -    rspec-mocks (3.5.0) -      diff-lcs (>= 1.2.0, < 2.0) -      rspec-support (~> 3.5.0) -    rspec-support (3.5.0) -    rspec-wait (0.0.9) -      rspec (>= 3, < 4) -    rubocop (0.47.1) -      parser (>= 2.3.3.1, < 3.0) -      powerpack (~> 0.1) -      rainbow (>= 1.99.1, < 3.0) -      ruby-progressbar (~> 1.7) -      unicode-display_width (~> 1.0, >= 1.0.1) -    ruby-progressbar (1.8.1) -    simplecov (0.13.0) -      docile (~> 1.1.0) -      json (>= 1.8, < 3) -      simplecov-html (~> 0.10.0) -    simplecov-html (0.10.0) -    unicode-display_width (1.1.3) -    url (0.3.2) - -PLATFORMS -  ruby - -DEPENDENCIES -  codecov -  parallel_tests -  rspec -  rspec-its -  rspec-wait -  rubocop -  simplecov - -BUNDLED WITH -   1.14.5 diff --git a/Library/Homebrew/test/cask/cask_spec.rb b/Library/Homebrew/test/cask/cask_spec.rb index 3736f3c01..a8c4ecf5f 100644 --- a/Library/Homebrew/test/cask/cask_spec.rb +++ b/Library/Homebrew/test/cask/cask_spec.rb @@ -24,7 +24,7 @@ describe Hbc::Cask, :cask do    describe "load" do      let(:tap_path) { Hbc.default_tap.path }      let(:file_dirname) { Pathname.new(__FILE__).dirname } -    let(:relative_tap_path) { tap_path.relative_path_from(file_dirname) } +    let(:relative_tap_path) { tap_path.realpath.relative_path_from(file_dirname) }      it "returns an instance of the Cask for the given token" do        c = Hbc::CaskLoader.load("local-caffeine") @@ -56,7 +56,9 @@ describe Hbc::Cask, :cask do      end      it "returns an instance of the Cask from a relative file location" do -      c = Hbc::CaskLoader.load(relative_tap_path/"Casks/local-caffeine.rb") +      c = file_dirname.cd do +        Hbc::CaskLoader.load(relative_tap_path/"Casks/local-caffeine.rb") +      end        expect(c).to be_kind_of(Hbc::Cask)        expect(c.token).to eq("local-caffeine")      end diff --git a/Library/Homebrew/test/cask/cli/style_spec.rb b/Library/Homebrew/test/cask/cli/style_spec.rb index d41636beb..d021d8000 100644 --- a/Library/Homebrew/test/cask/cli/style_spec.rb +++ b/Library/Homebrew/test/cask/cli/style_spec.rb @@ -62,7 +62,7 @@ describe Hbc::CLI::Style, :cask do      context "when installation succeeds" do        before do -        allow(Homebrew).to receive(:install_gem_setup_path!) +        allow(Homebrew).to receive(:run_bundler_if_needed!)        end        it "exits successfully" do @@ -72,7 +72,7 @@ describe Hbc::CLI::Style, :cask do      context "when installation fails" do        before do -        allow(Homebrew).to receive(:install_gem_setup_path!).and_raise(SystemExit) +        allow(Homebrew).to receive(:run_bundler_if_needed!).and_raise(SystemExit)        end        it "raises an error" do diff --git a/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb b/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb index ae1854f58..3a36f1853 100644 --- a/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb +++ b/Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb @@ -89,12 +89,10 @@ RSpec.shared_context "integration test" do      ruby_args << "-rtest/support/helper/integration_mocks"      ruby_args << (HOMEBREW_LIBRARY_PATH/"brew.rb").resolved_path.to_s -    Bundler.with_original_env do -      stdout, stderr, status = Open3.capture3(env, RUBY_PATH, *ruby_args, *args) -      $stdout.print stdout -      $stderr.print stderr -      status -    end +    stdout, stderr, status = Open3.capture3(env, RUBY_PATH, *ruby_args, *args) +    $stdout.print stdout +    $stderr.print stderr +    status    end    def setup_test_formula(name, content = nil) diff --git a/Library/Homebrew/test/support/lib/config.rb b/Library/Homebrew/test/support/lib/config.rb index 3a0a76722..fb5c210fe 100644 --- a/Library/Homebrew/test/support/lib/config.rb +++ b/Library/Homebrew/test/support/lib/config.rb @@ -2,8 +2,6 @@ unless ENV["HOMEBREW_BREW_FILE"]    raise "HOMEBREW_BREW_FILE was not exported! Please call bin/brew directly!"  end -require "constants" -  require "tmpdir"  require "pathname" diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index c37633e41..60af39d93 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -221,6 +221,38 @@ module Homebrew      EOS    end +  def run_bundler_if_needed! +    return unless Pathname.glob("#{HOMEBREW_GEM_HOME}/bin/*").empty? + +    if Gem::Specification.find_all_by_name("bundler").empty? +      ohai "Installing Bundler..." + +      # Do `gem install [...]` without having to spawn a separate process or +      # having to find the right `gem` binary for the running Ruby interpreter. +      require "rubygems/commands/install_command" +      install_cmd = Gem::Commands::InstallCommand.new +      install_cmd.handle_options(%w[--no-ri --no-rdoc bundler]) +      exit_code = 1 # Should not matter as `install_cmd.execute` always throws. +      begin +        install_cmd.execute +      rescue Gem::SystemExitException => e +        exit_code = e.exit_code +      end +      odie "Failed to install Bundler!" if exit_code.nonzero? +    end + +    HOMEBREW_REPOSITORY.cd do +      unless quiet_system("bundle", "check") +        ohai "Installing RubyGems..." +        success = system "bundle", "install", +                         "--path", "Library/Homebrew/vendor", +                         "--standalone", +                         "--jobs", "3" +        odie "Failed to install RubyGems!" unless success +      end +    end +  end +    # Hash of Module => Set(method_names)    @injected_dump_stat_modules = {} diff --git a/Library/Homebrew/vendor/README.md b/Library/Homebrew/vendor/README.md deleted file mode 100644 index b408631c7..000000000 --- a/Library/Homebrew/vendor/README.md +++ /dev/null @@ -1,54 +0,0 @@ -Vendored Dependencies -===================== - -* [plist](https://github.com/patsplat/plist), version 3.3.0 - -* [ruby-macho](https://github.com/Homebrew/ruby-macho), version 1.1.0 - -## Licenses: - -### plist - -> Copyright (c) 2006-2010, Ben Bleything and Patrick May -> -> Permission is hereby granted, free of charge, to any person obtaining -> a copy of this software and associated documentation files (the -> "Software"), to deal in the Software without restriction, including -> without limitation the rights to use, copy, modify, merge, publish, -> distribute, sublicense, and/or sell copies of the Software, and to -> permit persons to whom the Software is furnished to do so, subject to -> the following conditions: -> -> The above copyright notice and this permission notice shall be included -> in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -> KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -> WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -### ruby-macho - -> The MIT License -> Copyright (c) 2015, 2016, 2017 William Woodruff <william @ tuffbizz.com> -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. diff --git a/Library/Homebrew/vendor/bundler/setup.rb b/Library/Homebrew/vendor/bundler/setup.rb new file mode 100644 index 000000000..1fdc2512f --- /dev/null +++ b/Library/Homebrew/vendor/bundler/setup.rb @@ -0,0 +1,42 @@ +require 'rbconfig' +# ruby 1.8.7 doesn't define RUBY_ENGINE +ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby' +ruby_version = RbConfig::CONFIG["ruby_version"] +path = File.expand_path('..', __FILE__) +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rake-12.0.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ast-2.3.0/lib" +$:.unshift "#{path}/" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/extensions/universal-darwin-16/2.0.0/json-2.1.0" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/json-2.1.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/docile-1.1.5/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/simplecov-html-0.10.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/simplecov-0.14.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/url-0.3.2/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/codecov-0.1.10/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/diff-lcs-1.3/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/extensions/universal-darwin-16/2.0.0/hpricot-0.8.6" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/hpricot-0.8.6/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/mustache-1.0.5/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel-1.11.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel_tests-2.14.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parser-2.4.0.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/plist-3.3.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/powerpack-0.1.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/public_suffix-2.0.5/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/extensions/universal-darwin-16/2.0.0/rainbow-2.2.2" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rainbow-2.2.2/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/extensions/universal-darwin-16/2.0.0/rdiscount-2.2.0.1" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rdiscount-2.2.0.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ronn-0.7.3/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-support-3.6.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-core-3.6.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-expectations-3.6.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-mocks-3.6.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-3.6.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-its-1.2.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-wait-0.0.9/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-progressbar-1.8.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/unicode-display_width-1.2.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-0.47.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-cask-0.12.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-macho-1.1.0/lib" diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/LICENSE.txt b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/LICENSE.txt new file mode 100644 index 000000000..0ccffe7bf --- /dev/null +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2006-2010, Ben Bleything and Patrick May + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Library/Homebrew/vendor/plist/plist.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist.rb index 82ecb27d2..986dad461 100755..100644 --- a/Library/Homebrew/vendor/plist/plist.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist.rb @@ -13,9 +13,9 @@ require 'base64'  require 'cgi'  require 'stringio' -require_relative 'plist/generator' -require_relative 'plist/parser' -require_relative 'plist/version' +require 'plist/generator' +require 'plist/parser' +require 'plist/version'  module Plist  end diff --git a/Library/Homebrew/vendor/plist/plist/generator.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/generator.rb index 84bef3aaf..84bef3aaf 100755..100644 --- a/Library/Homebrew/vendor/plist/plist/generator.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/generator.rb diff --git a/Library/Homebrew/vendor/plist/plist/parser.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/parser.rb index 4de13f881..4de13f881 100755 --- a/Library/Homebrew/vendor/plist/plist/parser.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/parser.rb diff --git a/Library/Homebrew/vendor/plist/plist/version.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/version.rb index 80b1f73dd..80b1f73dd 100755..100644 --- a/Library/Homebrew/vendor/plist/plist/version.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/version.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/LICENSE b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/LICENSE new file mode 100644 index 000000000..d68fe0fbd --- /dev/null +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015, 2016 William Woodruff <william @ tuffbizz.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Library/Homebrew/vendor/macho/macho.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho.rb index b7f20ea19..b7f20ea19 100644 --- a/Library/Homebrew/vendor/macho/macho.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho.rb diff --git a/Library/Homebrew/vendor/macho/macho/exceptions.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/exceptions.rb index 14c2c22ae..14c2c22ae 100644 --- a/Library/Homebrew/vendor/macho/macho/exceptions.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/exceptions.rb diff --git a/Library/Homebrew/vendor/macho/macho/fat_file.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/fat_file.rb index 351be5ac6..351be5ac6 100644 --- a/Library/Homebrew/vendor/macho/macho/fat_file.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/fat_file.rb diff --git a/Library/Homebrew/vendor/macho/macho/headers.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/headers.rb index 08a4b80c4..08a4b80c4 100644 --- a/Library/Homebrew/vendor/macho/macho/headers.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/headers.rb diff --git a/Library/Homebrew/vendor/macho/macho/load_commands.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/load_commands.rb index be4319ee2..be4319ee2 100644 --- a/Library/Homebrew/vendor/macho/macho/load_commands.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/load_commands.rb diff --git a/Library/Homebrew/vendor/macho/macho/macho_file.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/macho_file.rb index 7693ab0dd..7693ab0dd 100644 --- a/Library/Homebrew/vendor/macho/macho/macho_file.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/macho_file.rb diff --git a/Library/Homebrew/vendor/macho/macho/sections.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/sections.rb index 1e69e0b61..1e69e0b61 100644 --- a/Library/Homebrew/vendor/macho/macho/sections.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/sections.rb diff --git a/Library/Homebrew/vendor/macho/macho/structure.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/structure.rb index bac5342d4..bac5342d4 100644 --- a/Library/Homebrew/vendor/macho/macho/structure.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/structure.rb diff --git a/Library/Homebrew/vendor/macho/macho/tools.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/tools.rb index b49626d9d..b49626d9d 100644 --- a/Library/Homebrew/vendor/macho/macho/tools.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/tools.rb diff --git a/Library/Homebrew/vendor/macho/macho/utils.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/utils.rb index ecfc8390b..ecfc8390b 100644 --- a/Library/Homebrew/vendor/macho/macho/utils.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/utils.rb diff --git a/Library/Homebrew/vendor/macho/macho/view.rb b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/view.rb index 9586e73be..9586e73be 100644 --- a/Library/Homebrew/vendor/macho/macho/view.rb +++ b/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/view.rb  | 
