2021-02-02 11:52:13 +00:00
|
|
|
# typed: false
|
2021-01-21 12:34:04 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2021-02-02 11:50:44 +00:00
|
|
|
if !ENV["HOMEBREW_NO_BOOTSNAP"] &&
|
|
|
|
ENV["HOMEBREW_BOOTSNAP"] &&
|
|
|
|
# portable ruby doesn't play nice with bootsnap
|
|
|
|
!ENV["HOMEBREW_FORCE_VENDOR_RUBY"] &&
|
2021-02-03 17:39:15 +00:00
|
|
|
(!ENV["HOMEBREW_MACOS_VERSION"] || ENV["HOMEBREW_MACOS_SYSTEM_RUBY_NEW_ENOUGH"]) &&
|
|
|
|
# Apple Silicon doesn't play nice with bootsnap
|
|
|
|
(ENV["HOMEBREW_PROCESSOR"] == "Intel")
|
2021-01-21 12:34:04 +00:00
|
|
|
|
2021-02-02 11:50:44 +00:00
|
|
|
require "rubygems"
|
2021-01-21 12:34:04 +00:00
|
|
|
|
2021-02-02 11:50:44 +00:00
|
|
|
begin
|
|
|
|
require "bootsnap"
|
|
|
|
rescue LoadError
|
|
|
|
raise if ENV["HOMEBREW_BOOTSNAP_RETRY"]
|
2021-01-21 16:31:35 +00:00
|
|
|
|
2021-02-02 13:18:09 +00:00
|
|
|
require "utils/gems"
|
|
|
|
Homebrew.install_bundler_gems!
|
2021-01-21 16:31:35 +00:00
|
|
|
|
2021-02-02 11:50:44 +00:00
|
|
|
ENV["HOMEBREW_BOOTSNAP_RETRY"] = "1"
|
|
|
|
exec ENV["HOMEBREW_BREW_FILE"], *ARGV
|
2021-01-21 16:31:35 +00:00
|
|
|
end
|
|
|
|
|
2021-02-02 11:50:44 +00:00
|
|
|
ENV.delete("HOMEBREW_BOOTSNAP_RETRY")
|
2021-01-21 12:34:04 +00:00
|
|
|
|
2021-02-02 11:50:44 +00:00
|
|
|
cache = ENV["HOMEBREW_CACHE"] || ENV["HOMEBREW_DEFAULT_CACHE"]
|
|
|
|
# Can't use .blank? here because we haven't required active_support yet.
|
|
|
|
raise "Needs HOMEBREW_CACHE or HOMEBREW_DEFAULT_CACHE!" if cache.nil? || cache.empty? # rubocop:disable Rails/Blank
|
2021-01-25 10:54:33 +00:00
|
|
|
|
2021-02-02 11:50:44 +00:00
|
|
|
Bootsnap.setup(
|
|
|
|
cache_dir: cache,
|
|
|
|
load_path_cache: true,
|
|
|
|
compile_cache_iseq: true,
|
|
|
|
compile_cache_yaml: true,
|
|
|
|
)
|
|
|
|
end
|