diff options
Diffstat (limited to 'Library/Homebrew/dev-cmd')
| -rw-r--r-- | Library/Homebrew/dev-cmd/audit.rb | 105 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/bottle.rb | 74 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/edit.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/mirror.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/pull.rb | 12 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/test-bot.rb | 29 |
6 files changed, 106 insertions, 124 deletions
diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 20e9a8aff..61d136daf 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -83,11 +83,11 @@ module Homebrew end end - unless problem_count.zero? - problems = "problem" + plural(problem_count) - formulae = "formula" + plural(formula_count, "e") - ofail "#{problem_count} #{problems} in #{formula_count} #{formulae}" - end + return if problem_count.zero? + + problems = "problem" + plural(problem_count) + formulae = "formula" + plural(formula_count, "e") + ofail "#{problem_count} #{problems} in #{formula_count} #{formulae}" end end @@ -279,9 +279,11 @@ class FormulaAuditor end end end + if present.include?("head") && present.include?("head block") problem "Should not have both `head` and `head do`" end + if present.include?("bottle modifier") && present.include?("bottle block") problem "Should not have `bottle :unneeded/:disable` and `bottle do`" end @@ -467,7 +469,7 @@ class FormulaAuditor # Make sure the formula name plus description is no longer than 80 characters # Note full_name includes the name of the tap, while name does not - linelength = formula.name.length + ": ".length + desc.length + linelength = "#{formula.name}: #{desc}".length if linelength > 80 problem <<-EOS.undent Description is too long. \"name: desc\" should be less than 80 characters. @@ -668,24 +670,26 @@ class FormulaAuditor end revision_map = attributes_map[:revision] - if formula.revision.nonzero? - if formula.stable - if revision_map[formula.stable.version].empty? # check stable spec - problem "'revision #{formula.revision}' should be removed" - end - else # head/devel-only formula + + return if formula.revision.zero? + + if formula.stable + if revision_map[formula.stable.version].empty? # check stable spec problem "'revision #{formula.revision}' should be removed" end + else # head/devel-only formula + problem "'revision #{formula.revision}' should be removed" end end def audit_legacy_patches return unless formula.respond_to?(:patches) legacy_patches = Patch.normalize_legacy_patches(formula.patches).grep(LegacyPatch) - unless legacy_patches.empty? - problem "Use the patch DSL instead of defining a 'patches' method" - legacy_patches.each { |p| audit_patch(p) } - end + + return if legacy_patches.empty? + + problem "Use the patch DSL instead of defining a 'patches' method" + legacy_patches.each { |p| audit_patch(p) } end def audit_patch(patch) @@ -961,61 +965,56 @@ class FormulaAuditor problem "Use Language::Node for npm install args" end - if @strict - if line =~ /system ((["'])[^"' ]*(?:\s[^"' ]*)+\2)/ - bad_system = $1 - unless %w[| < > & ; *].any? { |c| bad_system.include? c } - good_system = bad_system.gsub(" ", "\", \"") - problem "Use `system #{good_system}` instead of `system #{bad_system}` " - end - end + return unless @strict - if line =~ /(require ["']formula["'])/ - problem "`#{$1}` is now unnecessary" + if line =~ /system ((["'])[^"' ]*(?:\s[^"' ]*)+\2)/ + bad_system = $1 + unless %w[| < > & ; *].any? { |c| bad_system.include? c } + good_system = bad_system.gsub(" ", "\", \"") + problem "Use `system #{good_system}` instead of `system #{bad_system}` " end + end - if line =~ %r{#\{share\}/#{Regexp.escape(formula.name)}[/'"]} - problem "Use \#{pkgshare} instead of \#{share}/#{formula.name}" - end + if line =~ /(require ["']formula["'])/ + problem "`#{$1}` is now unnecessary" + end - if line =~ %r{share(\s*[/+]\s*)(['"])#{Regexp.escape(formula.name)}(?:\2|/)} - problem "Use pkgshare instead of (share#{$1}\"#{formula.name}\")" - end + if line =~ %r{#\{share\}/#{Regexp.escape(formula.name)}[/'"]} + problem "Use \#{pkgshare} instead of \#{share}/#{formula.name}" + end + + if line =~ %r{share(\s*[/+]\s*)(['"])#{Regexp.escape(formula.name)}(?:\2|/)} + problem "Use pkgshare instead of (share#{$1}\"#{formula.name}\")" end end def audit_caveats - caveats = formula.caveats.to_s - - if caveats.include?("setuid") - problem "Don't recommend setuid in the caveats, suggest sudo instead." - end + return unless formula.caveats.to_s.include?("setuid") + problem "Don't recommend setuid in the caveats, suggest sudo instead." end def audit_reverse_migration # Only enforce for new formula being re-added to core and official taps return unless @strict return unless formula.tap && formula.tap.official? + return unless formula.tap.tap_migrations.key?(formula.name) - if formula.tap.tap_migrations.key?(formula.name) - problem <<-EOS.undent - #{formula.name} seems to be listed in tap_migrations.json! - Please remove #{formula.name} from present tap & tap_migrations.json - before submitting it to Homebrew/homebrew-#{formula.tap.repo}. - EOS - end + problem <<-EOS.undent + #{formula.name} seems to be listed in tap_migrations.json! + Please remove #{formula.name} from present tap & tap_migrations.json + before submitting it to Homebrew/homebrew-#{formula.tap.repo}. + EOS end def audit_prefix_has_contents return unless formula.prefix.directory? + return unless Keg.new(formula.prefix).empty_installation? - if Keg.new(formula.prefix).empty_installation? - problem <<-EOS.undent - The installation seems to be empty. Please ensure the prefix - is set correctly and expected files are installed. - The prefix configure/make argument may be case-sensitive. - EOS - end + problem <<-EOS.undent + The installation seems to be empty. Please ensure the prefix + is set correctly and expected files are installed. + The prefix configure/make argument may be case-sensitive. + EOS end def audit_conditional_dep(dep, condition, line) @@ -1184,9 +1183,7 @@ class ResourceAuditor end end - using_strategy = DownloadStrategyDetector.detect("", using) - - if url_strategy == using_strategy + if url_strategy == DownloadStrategyDetector.detect("", using) problem "Redundant :using value in URL" end end diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index f4d6a463a..b2aa3b2c5 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -51,10 +51,11 @@ module Homebrew end @put_filenames ||= [] - unless @put_filenames.include? filename - puts "#{Tty.red}#{filename}#{Tty.reset}" - @put_filenames << filename - end + + return if @put_filenames.include? filename + + puts "#{Tty.red}#{filename}#{Tty.reset}" + @put_filenames << filename end result = false @@ -107,9 +108,7 @@ module Homebrew absolute_symlinks_start_with_string = [] keg.find do |pn| next unless pn.symlink? && (link = pn.readlink).absolute? - if link.to_s.start_with?(string) - absolute_symlinks_start_with_string << pn - end + absolute_symlinks_start_with_string << pn if link.to_s.start_with?(string) end if ARGV.verbose? @@ -137,11 +136,11 @@ module Homebrew tap = f.tap unless tap - if ARGV.include?("--force-core-tap") - tap = CoreTap.instance - else + unless ARGV.include?("--force-core-tap") return ofail "Formula not from core or any taps: #{f.full_name}" end + + tap = CoreTap.instance end if f.bottle_disabled? @@ -154,9 +153,7 @@ module Homebrew return ofail "Formula not installed with '--build-bottle': #{f.full_name}" end - unless f.stable - return ofail "Formula has no stable version: #{f.full_name}" - end + return ofail "Formula has no stable version: #{f.full_name}" unless f.stable if ARGV.include?("--no-rebuild") || !f.tap rebuild = 0 @@ -323,34 +320,33 @@ module Homebrew puts "./#{filename}" puts output - if ARGV.include? "--json" - json = { - f.full_name => { - "formula" => { - "pkg_version" => f.pkg_version.to_s, - "path" => f.path.to_s.strip_prefix("#{HOMEBREW_REPOSITORY}/"), - }, - "bottle" => { - "root_url" => bottle.root_url, - "prefix" => bottle.prefix, - "cellar" => bottle.cellar.to_s, - "rebuild" => bottle.rebuild, - "tags" => { - Utils::Bottles.tag.to_s => { - "filename" => filename.to_s, - "sha256" => sha256, - }, + return unless ARGV.include? "--json" + json = { + f.full_name => { + "formula" => { + "pkg_version" => f.pkg_version.to_s, + "path" => f.path.to_s.strip_prefix("#{HOMEBREW_REPOSITORY}/"), + }, + "bottle" => { + "root_url" => bottle.root_url, + "prefix" => bottle.prefix, + "cellar" => bottle.cellar.to_s, + "rebuild" => bottle.rebuild, + "tags" => { + Utils::Bottles.tag.to_s => { + "filename" => filename.to_s, + "sha256" => sha256, }, }, - "bintray" => { - "package" => Utils::Bottles::Bintray.package(f.name), - "repository" => Utils::Bottles::Bintray.repository(tap), - }, }, - } - File.open("#{filename.prefix}.bottle.json", "w") do |file| - file.write Utils::JSON.dump json - end + "bintray" => { + "package" => Utils::Bottles::Bintray.package(f.name), + "repository" => Utils::Bottles::Bintray.repository(tap), + }, + }, + } + File.open("#{filename.prefix}.bottle.json", "w") do |file| + file.write Utils::JSON.dump json end end @@ -436,7 +432,7 @@ module Homebrew puts output update_or_add = "add" if s.include? "stable do" - indent = s.slice(/^ +stable do/).length - "stable do".length + indent = s.slice(/^( +)stable do/, 1).length string = s.sub!(/^ {#{indent}}stable do(.|\n)+?^ {#{indent}}end\n/m, '\0' + output + "\n") else string = s.sub!( diff --git a/Library/Homebrew/dev-cmd/edit.rb b/Library/Homebrew/dev-cmd/edit.rb index f80d05861..2d2a5ec08 100644 --- a/Library/Homebrew/dev-cmd/edit.rb +++ b/Library/Homebrew/dev-cmd/edit.rb @@ -33,9 +33,9 @@ module Homebrew # Don't use ARGV.formulae as that will throw if the file doesn't parse paths = ARGV.named.map do |name| path = Formulary.path(name) - unless path.file? || ARGV.force? - raise FormulaUnavailableError, name - end + + raise FormulaUnavailableError, name unless path.file? || ARGV.force? + path end exec_editor(*paths) diff --git a/Library/Homebrew/dev-cmd/mirror.rb b/Library/Homebrew/dev-cmd/mirror.rb index 162008123..9966163f8 100644 --- a/Library/Homebrew/dev-cmd/mirror.rb +++ b/Library/Homebrew/dev-cmd/mirror.rb @@ -4,9 +4,7 @@ module Homebrew def mirror - if ARGV.named.empty? - odie "This command requires at least formula argument!" - end + odie "This command requires at least formula argument!" if ARGV.named.empty? bintray_user = ENV["BINTRAY_USER"] bintray_key = ENV["BINTRAY_KEY"] diff --git a/Library/Homebrew/dev-cmd/pull.rb b/Library/Homebrew/dev-cmd/pull.rb index 7f027e159..b06719fb1 100644 --- a/Library/Homebrew/dev-cmd/pull.rb +++ b/Library/Homebrew/dev-cmd/pull.rb @@ -41,12 +41,12 @@ require "pkg_version" module Homebrew def pull - if ARGV[0] == "--rebase" - odie "You meant `git pull --rebase`." - end + odie "You meant `git pull --rebase`." if ARGV[0] == "--rebase" + if ARGV.named.empty? odie "This command requires at least one argument containing a URL or pull request number" end + do_bump = ARGV.include?("--bump") && !ARGV.include?("--clean") # Formulae with affected bottles that were published @@ -429,9 +429,9 @@ module Homebrew # Returns nil if formula is absent or if there was an error reading it def self.lookup(name) json = Utils.popen_read(HOMEBREW_BREW_FILE, "info", "--json=v1", name) - unless $?.success? - return nil - end + + return nil unless $?.success? + Homebrew.force_utf8!(json) FormulaInfoFromJson.new(Utils::JSON.load(json)[0]) end diff --git a/Library/Homebrew/dev-cmd/test-bot.rb b/Library/Homebrew/dev-cmd/test-bot.rb index 7a5853c48..ba78cdb59 100644 --- a/Library/Homebrew/dev-cmd/test-bot.rb +++ b/Library/Homebrew/dev-cmd/test-bot.rb @@ -185,8 +185,8 @@ module Homebrew def puts_result if ENV["TRAVIS"] - travis_start_time = @start_time.to_i*1000000000 - travis_end_time = @end_time.to_i*1000000000 + travis_start_time = @start_time.to_i * 1_000_000_000 + travis_end_time = @end_time.to_i * 1_000_000_000 travis_duration = travis_end_time - travis_start_time puts "#{Tty.white}==>#{Tty.green} PASSED#{Tty.reset}" if passed? puts "travis_time:end:#{@travis_timer_id},start=#{travis_start_time},finish=#{travis_end_time},duration=#{travis_duration}" @@ -563,11 +563,10 @@ module Homebrew (installed & dependencies).each do |installed_dependency| installed_dependency_formula = Formulary.factory(installed_dependency) - if installed_dependency_formula.installed? && - !installed_dependency_formula.keg_only? && - !installed_dependency_formula.linked_keg.exist? - test "brew", "link", installed_dependency - end + next unless installed_dependency_formula.installed? + next if installed_dependency_formula.keg_only? + next if installed_dependency_formula.linked_keg.exist? + test "brew", "link", installed_dependency end dependencies -= installed @@ -725,9 +724,7 @@ module Homebrew coverage_args = [] if ARGV.include?("--coverage") if ENV["JENKINS_HOME"] - if OS.mac? && MacOS.version == :sierra - coverage_args << "--coverage" - end + coverage_args << "--coverage" if OS.mac? && MacOS.version == :sierra else coverage_args << "--coverage" end @@ -742,9 +739,7 @@ module Homebrew test "brew", "cask-tests", *coverage_args end elsif @tap - if @tap.name == "homebrew/core" - test "brew", "style", @tap.name - end + test "brew", "style", @tap.name if @tap.name == "homebrew/core" test "brew", "readall", "--aliases", @tap.name end end @@ -1055,9 +1050,7 @@ module Homebrew ARGV << "--junit" << "--local" << "--test-default-formula" end - if ARGV.include? "--ci-master" - ARGV << "--fast" - end + ARGV << "--fast" if ARGV.include?("--ci-master") if ARGV.include? "--local" ENV["HOMEBREW_CACHE"] = "#{ENV["HOME"]}/Library/Caches/Homebrew" @@ -1081,9 +1074,7 @@ module Homebrew safe_system "brew", "tap", tap.name, "--full" end - if ARGV.include? "--ci-upload" - return test_ci_upload(tap) - end + return test_ci_upload(tap) if ARGV.include?("--ci-upload") tests = [] any_errors = false |
