mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
28 lines
1022 B
Ruby
Executable File
28 lines
1022 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# typed: true
|
|
# frozen_string_literal: true
|
|
|
|
HOMEBREW_REQUIRED_RUBY_VERSION = ARGV.first.freeze
|
|
raise "No Ruby version passed!" if HOMEBREW_REQUIRED_RUBY_VERSION.to_s.empty?
|
|
|
|
require "rubygems"
|
|
|
|
ruby_version = Gem::Version.new(RUBY_VERSION)
|
|
# This will only happen if the Ruby is too old anyway.
|
|
abort unless ruby_version.respond_to?(:canonical_segments)
|
|
|
|
homebrew_required_ruby_version = Gem::Version.new(HOMEBREW_REQUIRED_RUBY_VERSION)
|
|
|
|
ruby_version_major, ruby_version_minor, = ruby_version.canonical_segments
|
|
homebrew_required_ruby_version_major, homebrew_required_ruby_version_minor, =
|
|
homebrew_required_ruby_version.canonical_segments
|
|
|
|
if (!ENV.fetch("HOMEBREW_DEVELOPER", "").empty? || !ENV.fetch("HOMEBREW_TESTS", "").empty?) &&
|
|
!ENV.fetch("HOMEBREW_USE_RUBY_FROM_PATH", "").empty? &&
|
|
ruby_version >= homebrew_required_ruby_version
|
|
return
|
|
elsif ruby_version_major != homebrew_required_ruby_version_major ||
|
|
ruby_version_minor != homebrew_required_ruby_version_minor
|
|
abort
|
|
end
|