30 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # typed: strict
 | |
| # frozen_string_literal: true
 | |
| 
 | |
| homebrew_bootsnap_enabled = HOMEBREW_USING_PORTABLE_RUBY &&
 | |
|                             ENV["HOMEBREW_NO_BOOTSNAP"].nil? &&
 | |
|                             !ENV["HOMEBREW_BOOTSNAP"].nil?
 | |
| 
 | |
| if homebrew_bootsnap_enabled
 | |
|   require "bootsnap"
 | |
| 
 | |
|   cache = ENV.fetch("HOMEBREW_CACHE", nil) || ENV.fetch("HOMEBREW_DEFAULT_CACHE", nil)
 | |
|   raise "Needs HOMEBREW_CACHE or HOMEBREW_DEFAULT_CACHE!" if cache.nil? || cache.empty?
 | |
| 
 | |
|   # We never do `require "vendor/bundle/ruby/..."` or `require "vendor/portable-ruby/..."`,
 | |
|   # so let's slim the cache a bit by excluding them.
 | |
|   # Note that gems within `bundle/ruby` will still be cached - these are when directory walking down from above.
 | |
|   ignore_directories = [
 | |
|     (HOMEBREW_LIBRARY_PATH/"vendor/bundle/ruby").to_s,
 | |
|     (HOMEBREW_LIBRARY_PATH/"vendor/portable-ruby").to_s,
 | |
|   ]
 | |
| 
 | |
|   Bootsnap.setup(
 | |
|     cache_dir:          cache,
 | |
|     ignore_directories:,
 | |
|     load_path_cache:    true,
 | |
|     compile_cache_iseq: true,
 | |
|     compile_cache_yaml: true,
 | |
|   )
 | |
| end
 | 
