mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
audit: migrate throttle list to Homebrew/core
This commit is contained in:
parent
4a505fce31
commit
869941bccd
@ -135,6 +135,7 @@ module Homebrew
|
||||
except: args.except,
|
||||
spdx_license_data: spdx_license_data,
|
||||
spdx_exception_data: spdx_exception_data,
|
||||
audit_exceptions: f.tap.audit_exceptions,
|
||||
}
|
||||
options[:style_offenses] = style_offenses.for_path(f.path) if style_offenses
|
||||
options[:display_cop_names] = args.display_cop_names?
|
||||
@ -247,6 +248,7 @@ module Homebrew
|
||||
@specs = %w[stable head].map { |s| formula.send(s) }.compact
|
||||
@spdx_license_data = options[:spdx_license_data]
|
||||
@spdx_exception_data = options[:spdx_exception_data]
|
||||
@audit_exceptions = options[:audit_exceptions]
|
||||
end
|
||||
|
||||
def audit_style
|
||||
@ -730,15 +732,6 @@ module Homebrew
|
||||
imagemagick@6
|
||||
].freeze
|
||||
|
||||
THROTTLED_FORMULAE = {
|
||||
"aws-sdk-cpp" => 10,
|
||||
"awscli@1" => 10,
|
||||
"balena-cli" => 10,
|
||||
"gatsby-cli" => 10,
|
||||
"quicktype" => 10,
|
||||
"vim" => 50,
|
||||
}.freeze
|
||||
|
||||
UNSTABLE_ALLOWLIST = {
|
||||
"aalib" => "1.4rc",
|
||||
"automysqlbackup" => "3.0-rc",
|
||||
@ -823,7 +816,7 @@ module Homebrew
|
||||
stable_url_minor_version = stable_url_version.minor.to_i
|
||||
|
||||
formula_suffix = stable.version.patch.to_i
|
||||
throttled_rate = THROTTLED_FORMULAE[formula.name]
|
||||
throttled_rate = @audit_exceptions["THROTTLED_FORMULAE"][formula.name]
|
||||
if throttled_rate && formula_suffix.modulo(throttled_rate).nonzero?
|
||||
problem "should only be updated every #{throttled_rate} releases on multiples of #{throttled_rate}"
|
||||
end
|
||||
|
@ -99,6 +99,7 @@ class Tap
|
||||
@command_files = nil
|
||||
@formula_renames = nil
|
||||
@tap_migrations = nil
|
||||
@audit_exceptions = nil
|
||||
@config = nil
|
||||
remove_instance_variable(:@private) if instance_variable_defined?(:@private)
|
||||
end
|
||||
@ -545,6 +546,17 @@ class Tap
|
||||
end
|
||||
end
|
||||
|
||||
# Hash with audit exceptions
|
||||
def audit_exceptions
|
||||
require "json"
|
||||
|
||||
@audit_exceptions ||= if (audit_exceptions_file = path/"audit_exceptions.json").file?
|
||||
JSON.parse(audit_exceptions_file.read)
|
||||
else
|
||||
{}
|
||||
end
|
||||
end
|
||||
|
||||
def ==(other)
|
||||
other = Tap.fetch(other) if other.is_a?(String)
|
||||
self.class == other.class && name == other.name
|
||||
@ -689,6 +701,14 @@ class CoreTap < Tap
|
||||
end
|
||||
end
|
||||
|
||||
# @private
|
||||
def audit_exceptions
|
||||
@audit_exceptions ||= begin
|
||||
self.class.ensure_installed!
|
||||
super
|
||||
end
|
||||
end
|
||||
|
||||
# @private
|
||||
def formula_file_to_name(file)
|
||||
file.basename(".rb").to_s
|
||||
|
@ -870,7 +870,6 @@ module Homebrew
|
||||
include_examples "formulae exist", described_class::VERSIONED_KEG_ONLY_ALLOWLIST
|
||||
include_examples "formulae exist", described_class::VERSIONED_HEAD_SPEC_ALLOWLIST
|
||||
include_examples "formulae exist", described_class::PROVIDED_BY_MACOS_DEPENDS_ON_ALLOWLIST
|
||||
include_examples "formulae exist", described_class::THROTTLED_FORMULAE.keys
|
||||
include_examples "formulae exist", described_class::UNSTABLE_ALLOWLIST.keys
|
||||
include_examples "formulae exist", described_class::GNOME_DEVEL_ALLOWLIST.keys
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user