diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index e90846fc1..3d1e293d7 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -1,23 +1,15 @@ -require "pathname" require "English" require "json" require "json/add/exception" +require "pathname" +require "ostruct" +require "pp" -HOMEBREW_LIBRARY_PATH = Pathname.new(__FILE__).realpath.parent - -unless $LOAD_PATH.include?(HOMEBREW_LIBRARY_PATH.to_s) - $LOAD_PATH.push(HOMEBREW_LIBRARY_PATH.to_s) -end +require_relative "load_path" require "config" - -require "English" -require "ostruct" -require "messages" - -require "pp" require "extend/ARGV" - +require "messages" require "system_command" ARGV.extend(HomebrewArgvExtension) diff --git a/Library/Homebrew/load_path.rb b/Library/Homebrew/load_path.rb new file mode 100644 index 000000000..bab8941a9 --- /dev/null +++ b/Library/Homebrew/load_path.rb @@ -0,0 +1,7 @@ +require "pathname" + +HOMEBREW_LIBRARY_PATH = Pathname(__dir__).realpath + +unless $LOAD_PATH.include?(HOMEBREW_LIBRARY_PATH.to_s) + $LOAD_PATH.push(HOMEBREW_LIBRARY_PATH.to_s) +end diff --git a/Library/Homebrew/rubocops.rb b/Library/Homebrew/rubocops.rb index e0a532363..b5dd08187 100644 --- a/Library/Homebrew/rubocops.rb +++ b/Library/Homebrew/rubocops.rb @@ -1,14 +1,16 @@ -require_relative "./rubocops/formula_desc_cop" -require_relative "./rubocops/components_order_cop" -require_relative "./rubocops/components_redundancy_cop" -require_relative "./rubocops/dependency_order_cop" -require_relative "./rubocops/homepage_cop" -require_relative "./rubocops/text_cop" -require_relative "./rubocops/caveats_cop" -require_relative "./rubocops/checksum_cop" -require_relative "./rubocops/patches_cop" -require_relative "./rubocops/conflicts_cop" -require_relative "./rubocops/options_cop" -require_relative "./rubocops/urls_cop" -require_relative "./rubocops/lines_cop" -require_relative "./rubocops/class_cop" +require_relative "load_path" + +require "rubocops/formula_desc_cop" +require "rubocops/components_order_cop" +require "rubocops/components_redundancy_cop" +require "rubocops/dependency_order_cop" +require "rubocops/homepage_cop" +require "rubocops/text_cop" +require "rubocops/caveats_cop" +require "rubocops/checksum_cop" +require "rubocops/patches_cop" +require "rubocops/conflicts_cop" +require "rubocops/options_cop" +require "rubocops/urls_cop" +require "rubocops/lines_cop" +require "rubocops/class_cop" diff --git a/Library/Homebrew/rubocops/caveats_cop.rb b/Library/Homebrew/rubocops/caveats_cop.rb index 3935d5638..7ce22f22a 100644 --- a/Library/Homebrew/rubocops/caveats_cop.rb +++ b/Library/Homebrew/rubocops/caveats_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/checksum_cop.rb b/Library/Homebrew/rubocops/checksum_cop.rb index 4dd8ad91c..6eee16f2b 100644 --- a/Library/Homebrew/rubocops/checksum_cop.rb +++ b/Library/Homebrew/rubocops/checksum_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/class_cop.rb b/Library/Homebrew/rubocops/class_cop.rb index 10263f163..1a41b7b25 100644 --- a/Library/Homebrew/rubocops/class_cop.rb +++ b/Library/Homebrew/rubocops/class_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/components_order_cop.rb b/Library/Homebrew/rubocops/components_order_cop.rb index 245833405..385d36837 100644 --- a/Library/Homebrew/rubocops/components_order_cop.rb +++ b/Library/Homebrew/rubocops/components_order_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/components_redundancy_cop.rb b/Library/Homebrew/rubocops/components_redundancy_cop.rb index b6986db60..553800337 100644 --- a/Library/Homebrew/rubocops/components_redundancy_cop.rb +++ b/Library/Homebrew/rubocops/components_redundancy_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/conflicts_cop.rb b/Library/Homebrew/rubocops/conflicts_cop.rb index 826c98616..c7b37c51e 100644 --- a/Library/Homebrew/rubocops/conflicts_cop.rb +++ b/Library/Homebrew/rubocops/conflicts_cop.rb @@ -1,5 +1,5 @@ -require_relative "./extend/formula_cop" -require_relative "../extend/string" +require "rubocops/extend/formula_cop" +require "extend/string" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/dependency_order_cop.rb b/Library/Homebrew/rubocops/dependency_order_cop.rb index 884ed0c1d..ab3056253 100644 --- a/Library/Homebrew/rubocops/dependency_order_cop.rb +++ b/Library/Homebrew/rubocops/dependency_order_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/extend/formula_cop.rb b/Library/Homebrew/rubocops/extend/formula_cop.rb index 362a5134c..73d7c4ae0 100644 --- a/Library/Homebrew/rubocops/extend/formula_cop.rb +++ b/Library/Homebrew/rubocops/extend/formula_cop.rb @@ -7,7 +7,7 @@ ensure $VERBOSE = old_verbosity end -require_relative "../../extend/string" +require "extend/string" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/formula_desc_cop.rb b/Library/Homebrew/rubocops/formula_desc_cop.rb index abdaf869f..5d3483f66 100644 --- a/Library/Homebrew/rubocops/formula_desc_cop.rb +++ b/Library/Homebrew/rubocops/formula_desc_cop.rb @@ -1,5 +1,5 @@ -require_relative "./extend/formula_cop" -require_relative "../extend/string" +require "rubocops/extend/formula_cop" +require "extend/string" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/homepage_cop.rb b/Library/Homebrew/rubocops/homepage_cop.rb index ea7aa9196..1c07f2896 100644 --- a/Library/Homebrew/rubocops/homepage_cop.rb +++ b/Library/Homebrew/rubocops/homepage_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/lines_cop.rb b/Library/Homebrew/rubocops/lines_cop.rb index 551c9aec2..6a17fd2fc 100644 --- a/Library/Homebrew/rubocops/lines_cop.rb +++ b/Library/Homebrew/rubocops/lines_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/options_cop.rb b/Library/Homebrew/rubocops/options_cop.rb index c39709d7b..db20d9576 100644 --- a/Library/Homebrew/rubocops/options_cop.rb +++ b/Library/Homebrew/rubocops/options_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/patches_cop.rb b/Library/Homebrew/rubocops/patches_cop.rb index da89510ad..338fcf235 100644 --- a/Library/Homebrew/rubocops/patches_cop.rb +++ b/Library/Homebrew/rubocops/patches_cop.rb @@ -1,5 +1,5 @@ -require_relative "./extend/formula_cop" -require_relative "../extend/string" +require "rubocops/extend/formula_cop" +require "extend/string" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/text_cop.rb b/Library/Homebrew/rubocops/text_cop.rb index da828fe11..0ca6bce28 100644 --- a/Library/Homebrew/rubocops/text_cop.rb +++ b/Library/Homebrew/rubocops/text_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/rubocops/urls_cop.rb b/Library/Homebrew/rubocops/urls_cop.rb index 30420a793..0dfe5158b 100644 --- a/Library/Homebrew/rubocops/urls_cop.rb +++ b/Library/Homebrew/rubocops/urls_cop.rb @@ -1,4 +1,4 @@ -require_relative "./extend/formula_cop" +require "rubocops/extend/formula_cop" module RuboCop module Cop diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index 7d5010259..7b7ec6a72 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -271,7 +271,7 @@ class Tap raise "Cannot tap #{name}: invalid syntax in tap!" end end - rescue Interrupt, ErrorDuringExecution, RuntimeError + rescue Interrupt, RuntimeError ignore_interrupts do # wait for git to possibly cleanup the top directory when interrupt happens. sleep 0.1 diff --git a/Library/Homebrew/test/rubocop_spec.rb b/Library/Homebrew/test/rubocop_spec.rb new file mode 100644 index 000000000..64f86ad44 --- /dev/null +++ b/Library/Homebrew/test/rubocop_spec.rb @@ -0,0 +1,18 @@ +require "open3" + +describe "RuboCop" do + context "when calling `rubocop` outside of the Homebrew environment" do + before do + ENV.keys.each do |key| + ENV.delete(key) if key.start_with?("HOMEBREW_") + end + + ENV["XDG_CACHE_HOME"] = "#{HOMEBREW_CACHE}/style" + end + + it "loads all Formula cops without errors" do + _, _, status = Open3.capture3("rubocop", TEST_FIXTURE_DIR/"testball.rb") + expect(status).to be_a_success + end + end +end diff --git a/Library/Homebrew/test/rubocops/caveats_cop_spec.rb b/Library/Homebrew/test/rubocops/caveats_cop_spec.rb index 3ab4efd14..c38f9d4ea 100644 --- a/Library/Homebrew/test/rubocops/caveats_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/caveats_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/caveats_cop" +require "rubocops/caveats_cop" describe RuboCop::Cop::FormulaAudit::Caveats do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/checksum_cop_spec.rb b/Library/Homebrew/test/rubocops/checksum_cop_spec.rb index edc301584..802bcfee6 100644 --- a/Library/Homebrew/test/rubocops/checksum_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/checksum_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/checksum_cop" +require "rubocops/checksum_cop" describe RuboCop::Cop::FormulaAudit::Checksum do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/class_cop_spec.rb b/Library/Homebrew/test/rubocops/class_cop_spec.rb index 7ada0bebd..8273f3ebc 100644 --- a/Library/Homebrew/test/rubocops/class_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/class_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/class_cop" +require "rubocops/class_cop" describe RuboCop::Cop::FormulaAudit::ClassName do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/components_order_cop_spec.rb b/Library/Homebrew/test/rubocops/components_order_cop_spec.rb index cc69b696e..38a25cfc6 100644 --- a/Library/Homebrew/test/rubocops/components_order_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/components_order_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/components_order_cop" +require "rubocops/components_order_cop" describe RuboCop::Cop::FormulaAudit::ComponentsOrder do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb b/Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb index f363ca385..3cb44387c 100644 --- a/Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/components_redundancy_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/components_redundancy_cop" +require "rubocops/components_redundancy_cop" describe RuboCop::Cop::FormulaAudit::ComponentsRedundancy do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb b/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb index 788d9f6fc..0f311f904 100644 --- a/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/conflicts_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/conflicts_cop" +require "rubocops/conflicts_cop" describe RuboCop::Cop::FormulaAudit::Conflicts do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/dependency_order_cop_spec.rb b/Library/Homebrew/test/rubocops/dependency_order_cop_spec.rb index 38af72d23..6f19cc329 100644 --- a/Library/Homebrew/test/rubocops/dependency_order_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/dependency_order_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/dependency_order_cop" +require "rubocops/dependency_order_cop" describe RuboCop::Cop::NewFormulaAudit::DependencyOrder do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb b/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb index 32a8e3f91..79eb3a293 100644 --- a/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/formula_desc_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/formula_desc_cop" +require "rubocops/formula_desc_cop" describe RuboCop::Cop::FormulaAudit::DescLength do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/homepage_cop_spec.rb b/Library/Homebrew/test/rubocops/homepage_cop_spec.rb index 2620572bb..9240db0fd 100644 --- a/Library/Homebrew/test/rubocops/homepage_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/homepage_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/homepage_cop" +require "rubocops/homepage_cop" describe RuboCop::Cop::FormulaAudit::Homepage do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/lines_cop_spec.rb b/Library/Homebrew/test/rubocops/lines_cop_spec.rb index 00190a32b..7195efb1b 100644 --- a/Library/Homebrew/test/rubocops/lines_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/lines_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/lines_cop" +require "rubocops/lines_cop" describe RuboCop::Cop::FormulaAudit::Lines do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/options_cop_spec.rb b/Library/Homebrew/test/rubocops/options_cop_spec.rb index 79f1d0d52..ef0e824bb 100644 --- a/Library/Homebrew/test/rubocops/options_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/options_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/options_cop" +require "rubocops/options_cop" describe RuboCop::Cop::FormulaAudit::Options do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/patches_cop_spec.rb b/Library/Homebrew/test/rubocops/patches_cop_spec.rb index a10254de2..7173092ba 100644 --- a/Library/Homebrew/test/rubocops/patches_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/patches_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/patches_cop" +require "rubocops/patches_cop" describe RuboCop::Cop::FormulaAudit::Patches do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/text_cop_spec.rb b/Library/Homebrew/test/rubocops/text_cop_spec.rb index 1cb87980a..d141ba82f 100644 --- a/Library/Homebrew/test/rubocops/text_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/text_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/text_cop" +require "rubocops/text_cop" describe RuboCop::Cop::FormulaAudit::Text do subject(:cop) { described_class.new } diff --git a/Library/Homebrew/test/rubocops/urls_cop_spec.rb b/Library/Homebrew/test/rubocops/urls_cop_spec.rb index bc39a08e5..5664b93cc 100644 --- a/Library/Homebrew/test/rubocops/urls_cop_spec.rb +++ b/Library/Homebrew/test/rubocops/urls_cop_spec.rb @@ -1,4 +1,4 @@ -require_relative "../../rubocops/urls_cop" +require "rubocops/urls_cop" describe RuboCop::Cop::FormulaAudit::Urls do subject(:cop) { described_class.new }