 5ab34abd17
			
		
	
	
		5ab34abd17
		
			
		
	
	
	
	
		
			
			This is a developer-only feature, so it's gated via `HOMEBREW_DEVELOPER`. This is intended to enable testing of macOS 10.15; users building software manually to test compatibility of early betas need to be able to build software from source instead of via pouring 10.14 bottles. This isn't intended to be a general-purpose `HOMEBREW_BUILD_FROM_SOURCE` replacement, and has no effect on released versions of macOS.
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| module Utils
 | |
|   class Bottles
 | |
|     class << self
 | |
|       undef tag
 | |
| 
 | |
|       def tag
 | |
|         MacOS.cat
 | |
|       end
 | |
|     end
 | |
| 
 | |
|     class Collector
 | |
|       private
 | |
| 
 | |
|       alias generic_find_matching_tag find_matching_tag
 | |
| 
 | |
|       def find_matching_tag(tag)
 | |
|         # Used primarily by developers testing beta macOS releases.
 | |
|         if OS::Mac.prerelease? && ARGV.skip_or_later_bottles?
 | |
|           generic_find_matching_tag(tag)
 | |
|         else
 | |
|           generic_find_matching_tag(tag) ||
 | |
|             find_older_compatible_tag(tag)
 | |
|         end
 | |
|       end
 | |
| 
 | |
|       def tag_without_or_later(tag)
 | |
|         tag
 | |
|       end
 | |
| 
 | |
|       # Find a bottle built for a previous version of macOS.
 | |
|       def find_older_compatible_tag(tag)
 | |
|         begin
 | |
|           tag_version = MacOS::Version.from_symbol(tag)
 | |
|         rescue ArgumentError
 | |
|           return
 | |
|         end
 | |
| 
 | |
|         keys.find do |key|
 | |
|           key_tag_version = tag_without_or_later(key)
 | |
|           begin
 | |
|             MacOS::Version.from_symbol(key_tag_version) <= tag_version
 | |
|           rescue ArgumentError
 | |
|             false
 | |
|           end
 | |
|         end
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |