Refactor brew man.
This commit is contained in:
parent
5efed5d8c5
commit
48444d50af
@ -36,7 +36,7 @@ module Homebrew
|
|||||||
odie "`brew man --link` is now done automatically by `brew update`." if args.link?
|
odie "`brew man --link` is now done automatically by `brew update`." if args.link?
|
||||||
|
|
||||||
Commands.rebuild_internal_commands_completion_list
|
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"
|
if system "git", "-C", HOMEBREW_REPOSITORY, "diff", "--quiet", "docs/Manpage.md", "manpages", "completions"
|
||||||
puts "No changes to manpage or completions output detected."
|
puts "No changes to manpage or completions output detected."
|
||||||
@ -45,15 +45,15 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def regenerate_man_pages(args:)
|
def regenerate_man_pages(preserve_date:)
|
||||||
Homebrew.install_bundler_gems!
|
Homebrew.install_bundler_gems!
|
||||||
|
|
||||||
markup = build_man_page
|
markup = build_man_page
|
||||||
convert_man_page(markup, TARGET_DOC_PATH/"Manpage.md", args: args)
|
convert_man_page(markup, TARGET_DOC_PATH/"Manpage.md", preserve_date: preserve_date)
|
||||||
convert_man_page(markup, TARGET_MAN_PATH/"brew.1", args: args)
|
convert_man_page(markup, TARGET_MAN_PATH/"brew.1", preserve_date: preserve_date)
|
||||||
|
|
||||||
cask_markup = (SOURCE_PATH/"brew-cask.1.md").read
|
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
|
end
|
||||||
|
|
||||||
def build_man_page
|
def build_man_page
|
||||||
@ -94,14 +94,13 @@ module Homebrew
|
|||||||
path.basename.to_s.sub(/\.(rb|sh)$/, "").sub(/^--/, "~~")
|
path.basename.to_s.sub(/\.(rb|sh)$/, "").sub(/^--/, "~~")
|
||||||
end
|
end
|
||||||
|
|
||||||
def convert_man_page(markup, target, args:)
|
def convert_man_page(markup, target, preserve_date:)
|
||||||
manual = target.basename(".1")
|
manual = target.basename(".1")
|
||||||
organisation = "Homebrew"
|
organisation = "Homebrew"
|
||||||
|
|
||||||
# Set the manpage date to the existing one if we're checking for changes.
|
# 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.
|
# This avoids the only change being e.g. a new date.
|
||||||
date = if args.fail_if_changed? &&
|
date = if preserve_date && target.extname == ".1" && target.exist?
|
||||||
target.extname == ".1" && target.exist?
|
|
||||||
/"(\d{1,2})" "([A-Z][a-z]+) (\d{4})" "#{organisation}" "#{manual}"/ =~ target.read
|
/"(\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)}")
|
Date.parse("#{Regexp.last_match(1)} #{Regexp.last_match(2)} #{Regexp.last_match(3)}")
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user