From 48444d50af74beb45b40630fc7fda622b2672fd8 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Fri, 31 Jul 2020 19:40:49 +0200 Subject: [PATCH] Refactor `brew man`. --- Library/Homebrew/dev-cmd/man.rb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Library/Homebrew/dev-cmd/man.rb b/Library/Homebrew/dev-cmd/man.rb index 295424fd52..1a76bb2d42 100644 --- a/Library/Homebrew/dev-cmd/man.rb +++ b/Library/Homebrew/dev-cmd/man.rb @@ -36,7 +36,7 @@ module Homebrew odie "`brew man --link` is now done automatically by `brew update`." if args.link? Commands.rebuild_internal_commands_completion_list - regenerate_man_pages(args: args) + regenerate_man_pages(preserve_date: args.fail_if_changed?) if system "git", "-C", HOMEBREW_REPOSITORY, "diff", "--quiet", "docs/Manpage.md", "manpages", "completions" puts "No changes to manpage or completions output detected." @@ -45,15 +45,15 @@ module Homebrew end end - def regenerate_man_pages(args:) + def regenerate_man_pages(preserve_date:) Homebrew.install_bundler_gems! markup = build_man_page - convert_man_page(markup, TARGET_DOC_PATH/"Manpage.md", args: args) - convert_man_page(markup, TARGET_MAN_PATH/"brew.1", args: args) + convert_man_page(markup, TARGET_DOC_PATH/"Manpage.md", preserve_date: preserve_date) + convert_man_page(markup, TARGET_MAN_PATH/"brew.1", preserve_date: preserve_date) cask_markup = (SOURCE_PATH/"brew-cask.1.md").read - convert_man_page(cask_markup, TARGET_MAN_PATH/"brew-cask.1", args: args) + convert_man_page(cask_markup, TARGET_MAN_PATH/"brew-cask.1", preserve_date: preserve_date) end def build_man_page @@ -94,14 +94,13 @@ module Homebrew path.basename.to_s.sub(/\.(rb|sh)$/, "").sub(/^--/, "~~") end - def convert_man_page(markup, target, args:) + def convert_man_page(markup, target, preserve_date:) manual = target.basename(".1") organisation = "Homebrew" # Set the manpage date to the existing one if we're checking for changes. # This avoids the only change being e.g. a new date. - date = if args.fail_if_changed? && - target.extname == ".1" && target.exist? + date = if preserve_date && target.extname == ".1" && target.exist? /"(\d{1,2})" "([A-Z][a-z]+) (\d{4})" "#{organisation}" "#{manual}"/ =~ target.read Date.parse("#{Regexp.last_match(1)} #{Regexp.last_match(2)} #{Regexp.last_match(3)}") else