diff options
| -rw-r--r-- | .bundle/config | 5 | ||||
| -rw-r--r-- | .gitignore | 29 | ||||
| -rw-r--r-- | .travis.yml | 9 | ||||
| -rw-r--r-- | Gemfile | 36 | ||||
| -rw-r--r-- | Gemfile.lock | 84 | ||||
| -rw-r--r-- | Library/Homebrew/brew.rb | 19 | ||||
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/artifact/pkg.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/cli/style.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/container/executable.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/system_command.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/style.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/config.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/constants.rb | 3 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/audit.rb | 3 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/man.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/tests.rb | 20 | ||||
| -rw-r--r-- | Library/Homebrew/os/mac/mach.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/Gemfile | 12 | ||||
| -rw-r--r-- | Library/Homebrew/test/Gemfile.lock | 65 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cask_spec.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/style_spec.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/spec/shared_context/integration_test.rb | 10 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/lib/config.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/utils.rb | 32 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/README.md | 54 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/bundler/setup.rb | 42 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/exceptions.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/exceptions.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/fat_file.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/fat_file.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/headers.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/headers.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/load_commands.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/load_commands.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/macho_file.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/macho_file.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/sections.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/sections.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/structure.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/structure.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/tools.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/tools.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/utils.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/utils.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/macho/macho/view.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/view.rb) | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | Library/Homebrew/vendor/plist/plist.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist.rb) | 6 | ||||
| -rwxr-xr-x[-rw-r--r--] | Library/Homebrew/vendor/plist/plist/generator.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/generator.rb) | 0 | ||||
| -rwxr-xr-x | Library/Homebrew/vendor/plist/plist/parser.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/parser.rb) | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | Library/Homebrew/vendor/plist/plist/version.rb (renamed from Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/version.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/LICENSE.txt | 20 | ||||
| -rw-r--r-- | Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/LICENSE | 21 | 
43 files changed, 183 insertions, 315 deletions
| diff --git a/.bundle/config b/.bundle/config deleted file mode 100644 index 0007666fd..000000000 --- a/.bundle/config +++ /dev/null @@ -1,5 +0,0 @@ ---- -BUNDLE_CLEAN: "true" -BUNDLE_DISABLE_SHARED_GEMS: "true" -BUNDLE_PATH: "Library/Homebrew/vendor" -BUNDLE_JOBS: "3" diff --git a/.gitignore b/.gitignore index 5708a50f5..f7770612e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,10 +8,15 @@  !/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 @@ -19,24 +24,8 @@  /Library/PinnedTaps  /Library/Taps -# Ignore some vendored files within `Library`. +# Ignore 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 @@ -61,13 +50,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 f268e40ec..5e1906a5c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,8 @@  language: ruby -bundler_args: --path Library/Homebrew/vendor --standalone --jobs 3 -cache: bundler +cache: +  directories: +    - $HOME/.gem/ruby +    - Library/Homebrew/vendor/bundle  matrix:    include: @@ -11,9 +13,6 @@ 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 deleted file mode 100644 index d39abd77a..000000000 --- a/Gemfile +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index be4521e0e..000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,84 +0,0 @@ -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 6dab50f29..e07599ac6 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -8,14 +8,9 @@ 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(homebrew_library_path) - +HOMEBREW_LIBRARY_PATH = Pathname.new(__FILE__).realpath.parent +$:.unshift(HOMEBREW_LIBRARY_PATH.to_s)  require "global"  require "tap" @@ -25,8 +20,6 @@ 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 @@ -59,14 +52,6 @@ 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 1ba2b4b97..c43481c82 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 "plist" +require "vendor/plist/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 930742ed7..191aefd3c 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.run_bundler_if_needed! +            Homebrew.install_gem_setup_path! "rubocop-cask", HOMEBREW_RUBOCOP_CASK_VERSION, "rubocop"            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 61bd4ef9b..848f6d4be 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 "macho" +require "vendor/macho/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 d610f0fde..c14079bc8 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 "plist" +require "vendor/plist/plist"  require "extend/io" diff --git a/Library/Homebrew/cmd/style.rb b/Library/Homebrew/cmd/style.rb index 48ec3ee2e..cf41d91ee 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.run_bundler_if_needed! +    Homebrew.install_gem_setup_path! "rubocop", HOMEBREW_RUBOCOP_VERSION      require "rubocop"      require_relative "../rubocops" diff --git a/Library/Homebrew/config.rb b/Library/Homebrew/config.rb index 38d7c8043..30b7bc6c9 100644 --- a/Library/Homebrew/config.rb +++ b/Library/Homebrew/config.rb @@ -2,6 +2,8 @@ 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 new file mode 100644 index 000000000..827d5827f --- /dev/null +++ b/Library/Homebrew/constants.rb @@ -0,0 +1,3 @@ +# 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 9ea3faf11..cb25ca794 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -65,9 +65,6 @@ 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 6e71c248b..4e5103910 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.run_bundler_if_needed! +    Homebrew.install_gem_setup_path! "ronn"      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 da1f5365c..72d6143fc 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -49,6 +49,8 @@ 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| @@ -57,7 +59,10 @@ module Homebrew          ENV["GIT_#{role}_DATE"]  = "Sun Jan 22 19:59:13 2017 +0000"        end -      Homebrew.run_bundler_if_needed! +      Homebrew.install_gem_setup_path! "bundler" +      unless quiet_system("bundle", "check") +        system "bundle", "install" +      end        parallel = true @@ -101,15 +106,10 @@ module Homebrew          files = files.reject { |p| p =~ %r{^test/os/linux(/.*|_spec\.rb)$} }        end -      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" +      if parallel +        system "bundle", "exec", "parallel_rspec", *opts, "--", *args, "--", *files +      else +        system "bundle", "exec", "rspec", *args, "--", *files        end        return if $?.success? diff --git a/Library/Homebrew/os/mac/mach.rb b/Library/Homebrew/os/mac/mach.rb index 71f501fe9..9b53c4979 100644 --- a/Library/Homebrew/os/mac/mach.rb +++ b/Library/Homebrew/os/mac/mach.rb @@ -1,4 +1,4 @@ -require "macho" +require "vendor/macho/macho"  require "os/mac/architecture_list"  module MachOShim diff --git a/Library/Homebrew/test/Gemfile b/Library/Homebrew/test/Gemfile new file mode 100644 index 000000000..f3c16c710 --- /dev/null +++ b/Library/Homebrew/test/Gemfile @@ -0,0 +1,12 @@ +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 new file mode 100644 index 000000000..4d4eefd7d --- /dev/null +++ b/Library/Homebrew/test/Gemfile.lock @@ -0,0 +1,65 @@ +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 a8c4ecf5f..3736f3c01 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.realpath.relative_path_from(file_dirname) } +    let(:relative_tap_path) { tap_path.relative_path_from(file_dirname) }      it "returns an instance of the Cask for the given token" do        c = Hbc::CaskLoader.load("local-caffeine") @@ -56,9 +56,7 @@ describe Hbc::Cask, :cask do      end      it "returns an instance of the Cask from a relative file location" do -      c = file_dirname.cd do -        Hbc::CaskLoader.load(relative_tap_path/"Casks/local-caffeine.rb") -      end +      c = Hbc::CaskLoader.load(relative_tap_path/"Casks/local-caffeine.rb")        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 d021d8000..d41636beb 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(:run_bundler_if_needed!) +        allow(Homebrew).to receive(:install_gem_setup_path!)        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(:run_bundler_if_needed!).and_raise(SystemExit) +        allow(Homebrew).to receive(:install_gem_setup_path!).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 3a36f1853..ae1854f58 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,10 +89,12 @@ RSpec.shared_context "integration test" do      ruby_args << "-rtest/support/helper/integration_mocks"      ruby_args << (HOMEBREW_LIBRARY_PATH/"brew.rb").resolved_path.to_s -    stdout, stderr, status = Open3.capture3(env, RUBY_PATH, *ruby_args, *args) -    $stdout.print stdout -    $stderr.print stderr -    status +    Bundler.with_original_env do +      stdout, stderr, status = Open3.capture3(env, RUBY_PATH, *ruby_args, *args) +      $stdout.print stdout +      $stderr.print stderr +      status +    end    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 fb5c210fe..3a0a76722 100644 --- a/Library/Homebrew/test/support/lib/config.rb +++ b/Library/Homebrew/test/support/lib/config.rb @@ -2,6 +2,8 @@ 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 60af39d93..c37633e41 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -221,38 +221,6 @@ 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 new file mode 100644 index 000000000..b408631c7 --- /dev/null +++ b/Library/Homebrew/vendor/README.md @@ -0,0 +1,54 @@ +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 deleted file mode 100644 index 1fdc2512f..000000000 --- a/Library/Homebrew/vendor/bundler/setup.rb +++ /dev/null @@ -1,42 +0,0 @@ -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/ruby-macho-1.1.0/lib/macho.rb b/Library/Homebrew/vendor/macho/macho.rb index b7f20ea19..b7f20ea19 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho.rb +++ b/Library/Homebrew/vendor/macho/macho.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/exceptions.rb b/Library/Homebrew/vendor/macho/macho/exceptions.rb index 14c2c22ae..14c2c22ae 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/exceptions.rb +++ b/Library/Homebrew/vendor/macho/macho/exceptions.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/fat_file.rb b/Library/Homebrew/vendor/macho/macho/fat_file.rb index 351be5ac6..351be5ac6 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/fat_file.rb +++ b/Library/Homebrew/vendor/macho/macho/fat_file.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/headers.rb b/Library/Homebrew/vendor/macho/macho/headers.rb index 08a4b80c4..08a4b80c4 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/headers.rb +++ b/Library/Homebrew/vendor/macho/macho/headers.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/load_commands.rb b/Library/Homebrew/vendor/macho/macho/load_commands.rb index be4319ee2..be4319ee2 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/load_commands.rb +++ b/Library/Homebrew/vendor/macho/macho/load_commands.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/macho_file.rb b/Library/Homebrew/vendor/macho/macho/macho_file.rb index 7693ab0dd..7693ab0dd 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/macho_file.rb +++ b/Library/Homebrew/vendor/macho/macho/macho_file.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/sections.rb b/Library/Homebrew/vendor/macho/macho/sections.rb index 1e69e0b61..1e69e0b61 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/sections.rb +++ b/Library/Homebrew/vendor/macho/macho/sections.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/structure.rb b/Library/Homebrew/vendor/macho/macho/structure.rb index bac5342d4..bac5342d4 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/structure.rb +++ b/Library/Homebrew/vendor/macho/macho/structure.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/tools.rb b/Library/Homebrew/vendor/macho/macho/tools.rb index b49626d9d..b49626d9d 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/tools.rb +++ b/Library/Homebrew/vendor/macho/macho/tools.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/utils.rb b/Library/Homebrew/vendor/macho/macho/utils.rb index ecfc8390b..ecfc8390b 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/utils.rb +++ b/Library/Homebrew/vendor/macho/macho/utils.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/view.rb b/Library/Homebrew/vendor/macho/macho/view.rb index 9586e73be..9586e73be 100644 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/lib/macho/view.rb +++ b/Library/Homebrew/vendor/macho/macho/view.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist.rb b/Library/Homebrew/vendor/plist/plist.rb index 986dad461..82ecb27d2 100644..100755 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist.rb +++ b/Library/Homebrew/vendor/plist/plist.rb @@ -13,9 +13,9 @@ require 'base64'  require 'cgi'  require 'stringio' -require 'plist/generator' -require 'plist/parser' -require 'plist/version' +require_relative 'plist/generator' +require_relative 'plist/parser' +require_relative 'plist/version'  module Plist  end diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/generator.rb b/Library/Homebrew/vendor/plist/plist/generator.rb index 84bef3aaf..84bef3aaf 100644..100755 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/generator.rb +++ b/Library/Homebrew/vendor/plist/plist/generator.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/parser.rb b/Library/Homebrew/vendor/plist/plist/parser.rb index 4de13f881..4de13f881 100755 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/parser.rb +++ b/Library/Homebrew/vendor/plist/plist/parser.rb diff --git a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/version.rb b/Library/Homebrew/vendor/plist/plist/version.rb index 80b1f73dd..80b1f73dd 100644..100755 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/lib/plist/version.rb +++ b/Library/Homebrew/vendor/plist/plist/version.rb 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 deleted file mode 100644 index 0ccffe7bf..000000000 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/plist-3.3.0/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -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/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 deleted file mode 100644 index d68fe0fbd..000000000 --- a/Library/Homebrew/vendor/ruby/2.0.0/gems/ruby-macho-1.1.0/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -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. | 
