tool/update-NEWS-refs.rb: Accept non-redmine url links
This commit is contained in:
parent
65ce6795fe
commit
2605ff79aa
@ -4,18 +4,28 @@ orig_src = File.read(File.join(__dir__, "../NEWS.md"))
|
||||
lines = orig_src.lines(chomp: true)
|
||||
|
||||
links = {}
|
||||
while lines.last =~ %r{\A\[(?:Feature|Bug) #(\d+)\]:\s+https://bugs\.ruby-lang\.org/issues/\1(?:#.*)?\z}
|
||||
while lines.last =~ %r{\A\[(.*?)\]:\s+(?:.*)\z}
|
||||
links[$1] = lines.pop
|
||||
end
|
||||
|
||||
if links.empty? || lines.last != ""
|
||||
raise "NEWS.md must end with a sequence of links to bugs.ruby-lang.org like \"[Feature #XXXXX]: https://bugs.ruby-lang.org/issues/XXXXX\""
|
||||
raise "NEWS.md must end with a sequence of links"
|
||||
end
|
||||
|
||||
new_src = lines.join("\n").gsub(/\[?\[(Feature|Bug)\s+#(\d+)\]\]?/) do
|
||||
links[$2] ||= "[#$1 ##$2]: ".ljust(18) + "https://bugs.ruby-lang.org/issues/#$2"
|
||||
"[[#$1 ##$2]]"
|
||||
end.chomp + "\n\n" + links.keys.sort.map {|k| links[k] }.join("\n") + "\n"
|
||||
new_src = lines.join("\n").gsub(/\[?\[((?:Feature|Bug)\s+#(\d+))\]\]?/) do
|
||||
links[$1] ||= "[#$1]: ".ljust(18) + "https://bugs.ruby-lang.org/issues/#$2"
|
||||
"[[#$1]]"
|
||||
end.chomp + "\n\n"
|
||||
|
||||
redmine_links, non_redmine_links = links.partition {|k,| k =~ /\A(Feature|Bug)\s+#\d+\z/ }
|
||||
|
||||
redmine_links.sort_by {|k,| k[/\d+/].to_i }.each do |_k, v|
|
||||
new_src << v << "\n"
|
||||
end
|
||||
|
||||
non_redmine_links.reverse_each do |_k, v|
|
||||
new_src << v << "\n"
|
||||
end
|
||||
|
||||
if orig_src != new_src
|
||||
print "Update NEWS.md? [y/N]"
|
||||
|
Loading…
x
Reference in New Issue
Block a user