Skip to content

Commit caa7af5

Browse files
authored
Merge pull request #21081 from Homebrew/rm-pypi-json-code
Remove `pypi_formula_mappings.json` code
2 parents d455de8 + 024c0c1 commit caa7af5

File tree

8 files changed

+18
-261
lines changed

8 files changed

+18
-261
lines changed

Library/Homebrew/formula.rb

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,7 @@ def initialize(name, path, spec, alias_path: nil, tap: nil, force_bottle: false)
273273
Tap.from_path(path)
274274
end
275275

276-
@pypi_packages_info = T.let(self.class.pypi_packages_info || PypiPackages.from_json_file(@tap, @name),
277-
PypiPackages)
276+
@pypi_packages_info = T.let(self.class.pypi_packages_info || PypiPackages.new, PypiPackages)
278277

279278
@full_name = T.let(T.must(full_name_with_optional_tap(name)), String)
280279
@full_alias_name = T.let(full_name_with_optional_tap(@alias_name), T.nilable(String))
@@ -4000,25 +3999,18 @@ def head(val = nil, specs = {}, &block)
40003999
# ```
40014000
sig {
40024001
params(
4003-
package_name: T.nilable(String),
4004-
extra_packages: T.nilable(T.any(String, T::Array[String])),
4005-
exclude_packages: T.nilable(T.any(String, T::Array[String])),
4006-
dependencies: T.nilable(T.any(String, T::Array[String])),
4007-
needs_manual_update: T::Boolean,
4002+
package_name: T.nilable(String),
4003+
extra_packages: T.nilable(T.any(String, T::Array[String])),
4004+
exclude_packages: T.nilable(T.any(String, T::Array[String])),
4005+
dependencies: T.nilable(T.any(String, T::Array[String])),
40084006
).void
40094007
}
40104008
def pypi_packages(
40114009
package_name: nil,
40124010
extra_packages: nil,
40134011
exclude_packages: nil,
4014-
dependencies: nil,
4015-
needs_manual_update: false
4012+
dependencies: nil
40164013
)
4017-
if needs_manual_update
4018-
@pypi_packages_info = PypiPackages.new needs_manual_update: true
4019-
return
4020-
end
4021-
40224014
if [package_name, extra_packages, exclude_packages, dependencies].all?(&:nil?)
40234015
raise ArgumentError, "must provide at least one argument"
40244016
end

Library/Homebrew/pypi_packages.rb

Lines changed: 5 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -16,56 +16,23 @@ class PypiPackages
1616
sig { returns(T::Array[String]) }
1717
attr_reader :dependencies
1818

19-
sig { params(tap: T.nilable(Tap), formula_name: String).returns(T.attached_class) }
20-
def self.from_json_file(tap, formula_name)
21-
list_entry = tap&.pypi_formula_mappings&.fetch(formula_name, nil)
22-
23-
return new(defined_pypi_mapping: false) if list_entry.nil?
24-
25-
case T.cast(list_entry, T.any(FalseClass, String, T::Hash[String, T.any(String, T::Array[String])]))
26-
when false
27-
new needs_manual_update: true
28-
when String
29-
new package_name: list_entry
30-
when Hash
31-
package_name = list_entry["package_name"]
32-
extra_packages = list_entry.fetch("extra_packages", [])
33-
exclude_packages = list_entry.fetch("exclude_packages", [])
34-
dependencies = list_entry.fetch("dependencies", [])
35-
36-
new package_name:, extra_packages:, exclude_packages:, dependencies:
37-
end
38-
end
39-
4019
sig {
4120
params(
42-
package_name: T.nilable(String),
43-
extra_packages: T::Array[String],
44-
exclude_packages: T::Array[String],
45-
dependencies: T::Array[String],
46-
needs_manual_update: T::Boolean,
47-
defined_pypi_mapping: T::Boolean,
21+
package_name: T.nilable(String),
22+
extra_packages: T::Array[String],
23+
exclude_packages: T::Array[String],
24+
dependencies: T::Array[String],
4825
).void
4926
}
5027
def initialize(
5128
package_name: nil,
5229
extra_packages: [],
5330
exclude_packages: [],
54-
dependencies: [],
55-
needs_manual_update: false,
56-
defined_pypi_mapping: true
31+
dependencies: []
5732
)
5833
@package_name = T.let(package_name, T.nilable(String))
5934
@extra_packages = T.let(extra_packages, T::Array[String])
6035
@exclude_packages = T.let(exclude_packages, T::Array[String])
6136
@dependencies = T.let(dependencies, T::Array[String])
62-
@needs_manual_update = T.let(needs_manual_update, T::Boolean)
63-
@defined_pypi_mapping = T.let(defined_pypi_mapping, T::Boolean)
6437
end
65-
66-
sig { returns(T::Boolean) }
67-
def defined_pypi_mapping? = @defined_pypi_mapping
68-
69-
sig { returns(T::Boolean) }
70-
def needs_manual_update? = @needs_manual_update
7138
end

Library/Homebrew/tap.rb

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ class Tap
2525
private_constant :HOMEBREW_TAP_MIGRATIONS_FILE
2626
HOMEBREW_TAP_AUTOBUMP_FILE = ".github/autobump.txt"
2727
private_constant :HOMEBREW_TAP_AUTOBUMP_FILE
28-
HOMEBREW_TAP_PYPI_FORMULA_MAPPINGS_FILE = "pypi_formula_mappings.json"
29-
private_constant :HOMEBREW_TAP_PYPI_FORMULA_MAPPINGS_FILE
3028
HOMEBREW_TAP_SYNCED_VERSIONS_FORMULAE_FILE = "synced_versions_formulae.json"
3129
private_constant :HOMEBREW_TAP_SYNCED_VERSIONS_FORMULAE_FILE
3230
HOMEBREW_TAP_DISABLED_NEW_USR_LOCAL_RELOCATION_FORMULAE_FILE = "disabled_new_usr_local_relocation_formulae.json"
@@ -40,7 +38,6 @@ class Tap
4038
#{HOMEBREW_TAP_FORMULA_RENAMES_FILE}
4139
#{HOMEBREW_TAP_CASK_RENAMES_FILE}
4240
#{HOMEBREW_TAP_MIGRATIONS_FILE}
43-
#{HOMEBREW_TAP_PYPI_FORMULA_MAPPINGS_FILE}
4441
#{HOMEBREW_TAP_SYNCED_VERSIONS_FORMULAE_FILE}
4542
#{HOMEBREW_TAP_DISABLED_NEW_USR_LOCAL_RELOCATION_FORMULAE_FILE}
4643
#{HOMEBREW_TAP_AUDIT_EXCEPTIONS_DIR}/*.json
@@ -258,7 +255,6 @@ def clear_cache
258255

259256
@audit_exceptions = nil
260257
@style_exceptions = nil
261-
@pypi_formula_mappings = nil
262258
@synced_versions_formulae = nil
263259

264260
@config = nil
@@ -1081,18 +1077,6 @@ def style_exceptions
10811077
T.nilable(T::Hash[Symbol, T.untyped]))
10821078
end
10831079

1084-
# Hash with pypi formula mappings
1085-
sig { overridable.returns(T::Hash[String, T.untyped]) }
1086-
def pypi_formula_mappings
1087-
return @pypi_formula_mappings if @pypi_formula_mappings
1088-
1089-
@pypi_formula_mappings = T.let(
1090-
T.cast(read_formula_list(path/HOMEBREW_TAP_PYPI_FORMULA_MAPPINGS_FILE), T::Hash[String, T.untyped]),
1091-
T.nilable(T::Hash[String, T.untyped]),
1092-
)
1093-
T.must(@pypi_formula_mappings)
1094-
end
1095-
10961080
# Array with synced versions formulae
10971081
sig { overridable.returns(T::Array[T::Array[String]]) }
10981082
def synced_versions_formulae
@@ -1441,14 +1425,6 @@ def style_exceptions
14411425
end, T.nilable(T::Hash[Symbol, T.untyped]))
14421426
end
14431427

1444-
sig { override.returns(T::Hash[String, T.untyped]) }
1445-
def pypi_formula_mappings
1446-
@pypi_formula_mappings ||= T.let(begin
1447-
ensure_installed!
1448-
super
1449-
end, T.nilable(T::Hash[String, T.untyped]))
1450-
end
1451-
14521428
sig { override.returns(T::Array[T::Array[String]]) }
14531429
def synced_versions_formulae
14541430
@synced_versions_formulae ||= T.let(begin

Library/Homebrew/tap_auditor.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module Homebrew
55
# Auditor for checking common violations in {Tap}s.
66
class TapAuditor
77
attr_reader :name, :path, :formula_names, :formula_aliases, :formula_renames, :cask_tokens,
8-
:tap_audit_exceptions, :tap_style_exceptions, :tap_pypi_formula_mappings, :problems
8+
:tap_audit_exceptions, :tap_style_exceptions, :problems
99

1010
sig { params(tap: Tap, strict: T.nilable(T::Boolean)).void }
1111
def initialize(tap, strict:)
@@ -15,7 +15,6 @@ def initialize(tap, strict:)
1515
@path = tap.path
1616
@tap_audit_exceptions = tap.audit_exceptions
1717
@tap_style_exceptions = tap.style_exceptions
18-
@tap_pypi_formula_mappings = tap.pypi_formula_mappings
1918
@tap_synced_versions_formulae = tap.synced_versions_formulae
2019
@tap_autobump = tap.autobump
2120
@tap_official = tap.official?
@@ -55,7 +54,6 @@ def audit_json_files
5554
def audit_tap_formula_lists
5655
check_formula_list_directory "audit_exceptions", @tap_audit_exceptions
5756
check_formula_list_directory "style_exceptions", @tap_style_exceptions
58-
check_formula_list "pypi_formula_mappings", @tap_pypi_formula_mappings
5957
check_formula_list "formula_renames", @formula_renames.values
6058
check_formula_list ".github/autobump.txt", @tap_autobump unless @tap_official
6159
check_formula_list "synced_versions_formulae", @tap_synced_versions_formulae.flatten

Library/Homebrew/test/pypi_packages_spec.rb

Lines changed: 0 additions & 142 deletions
This file was deleted.

Library/Homebrew/test/spec_helper.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,6 @@
312312
CoreTap.instance.path/"tap_migrations.json",
313313
CoreTap.instance.path/"audit_exceptions",
314314
CoreTap.instance.path/"style_exceptions",
315-
CoreTap.instance.path/"pypi_formula_mappings.json",
316315
*Pathname.glob("#{HOMEBREW_CELLAR}/*/"),
317316
HOMEBREW_LIBRARY_PATH/"test/.vscode",
318317
HOMEBREW_LIBRARY_PATH/"test/.cursor",

Library/Homebrew/test/tap_spec.rb

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,6 @@ class Foo < Formula
5858
JSON
5959
end
6060

61-
(path/"pypi_formula_mappings.json").write <<~JSON
62-
{
63-
"formula1": "foo",
64-
"formula2": {
65-
"package_name": "foo",
66-
"extra_packages": ["bar"],
67-
"exclude_packages": ["baz"]
68-
}
69-
}
70-
JSON
71-
7261
[
7362
cmd_file,
7463
manpage_file,
@@ -619,22 +608,6 @@ def setup_completion(link:)
619608
end
620609
end
621610

622-
describe "#pypi_formula_mappings" do
623-
it "returns the pypi_formula_mappings hash" do
624-
setup_tap_files
625-
626-
expected_result = {
627-
"formula1" => "foo",
628-
"formula2" => {
629-
"package_name" => "foo",
630-
"extra_packages" => ["bar"],
631-
"exclude_packages" => ["baz"],
632-
},
633-
}
634-
expect(homebrew_foo_tap.pypi_formula_mappings).to eq expected_result
635-
end
636-
end
637-
638611
describe "#formula_file?" do
639612
it "matches files from Formula/" do
640613
tap = described_class.fetch("hard/core")
@@ -767,7 +740,6 @@ class Foo < Formula
767740
tap_migrations.json
768741
audit_exceptions/formula_list.json
769742
style_exceptions/formula_hash.json
770-
pypi_formula_mappings.json
771743
].each do |file|
772744
(path/file).dirname.mkpath
773745
(path/file).write formula_list_file_json
@@ -788,7 +760,6 @@ class Foo < Formula
788760
expect(core_tap.tap_migrations).to eq formula_list_file_contents
789761
expect(core_tap.audit_exceptions).to eq({ formula_list: formula_list_file_contents })
790762
expect(core_tap.style_exceptions).to eq({ formula_hash: formula_list_file_contents })
791-
expect(core_tap.pypi_formula_mappings).to eq formula_list_file_contents
792763
end
793764
end
794765

0 commit comments

Comments
 (0)