From ad0d972ed947ca1debb115019f1cfe979cdc76e7 Mon Sep 17 00:00:00 2001 From: Olle Jonsson Date: Sat, 14 Oct 2017 21:00:56 +0200 Subject: [PATCH] Add option --require to load custom Ruby code (#574) --- .../generator/generator_generation.rb | 1 + lib/github_changelog_generator/options.rb | 8 ++++++ lib/github_changelog_generator/parser.rb | 6 ++++- man/git-generate-changelog.1 | 27 ++++++++++++++----- man/git-generate-changelog.1.html | 11 +++++++- man/git-generate-changelog.md | 6 ++++- 6 files changed, 49 insertions(+), 10 deletions(-) diff --git a/lib/github_changelog_generator/generator/generator_generation.rb b/lib/github_changelog_generator/generator/generator_generation.rb index 4b06aa9..0057364 100644 --- a/lib/github_changelog_generator/generator/generator_generation.rb +++ b/lib/github_changelog_generator/generator/generator_generation.rb @@ -6,6 +6,7 @@ module GitHubChangelogGenerator # # @return [String] Generated change log file def compound_changelog + options.load_custom_ruby_files fetch_and_filter_tags fetch_issues_and_pr diff --git a/lib/github_changelog_generator/options.rb b/lib/github_changelog_generator/options.rb index f2b5c04..70fa3d6 100644 --- a/lib/github_changelog_generator/options.rb +++ b/lib/github_changelog_generator/options.rb @@ -43,6 +43,7 @@ module GitHubChangelogGenerator pulls release_branch release_url + require simple_list since_tag ssl_ca_file @@ -69,6 +70,13 @@ module GitHubChangelogGenerator values end + # Loads the configured Ruby files from the --require option. + # + # @return [void] + def load_custom_ruby_files + self[:require].each { |f| require f } + end + private def values diff --git a/lib/github_changelog_generator/parser.rb b/lib/github_changelog_generator/parser.rb index 80165d8..9c8cf88 100755 --- a/lib/github_changelog_generator/parser.rb +++ b/lib/github_changelog_generator/parser.rb @@ -181,6 +181,9 @@ module GitHubChangelogGenerator opts.on("--ssl-ca-file [PATH]", "Path to cacert.pem file. Default is a bundled lib/github_changelog_generator/ssl_certs/cacert.pem. Respects SSL_CA_PATH.") do |ssl_ca_file| options[:ssl_ca_file] = ssl_ca_file end + opts.on("--require x,y,z", Array, "Path to Ruby file(s) to require.") do |paths| + options[:require] = paths + end opts.on("--[no-]verbose", "Run verbosely. Default is true") do |v| options[:verbose] = v end @@ -226,7 +229,8 @@ module GitHubChangelogGenerator bug_prefix: "**Fixed bugs:**", enhancement_prefix: "**Implemented enhancements:**", breaking_prefix: "**Breaking changes:**", - http_cache: true + http_cache: true, + require: [] ) end end diff --git a/man/git-generate-changelog.1 b/man/git-generate-changelog.1 index faa961f..f981196 100644 --- a/man/git-generate-changelog.1 +++ b/man/git-generate-changelog.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "GIT\-GENERATE\-CHANGELOG" "1" "December 2016" "" "" +.TH "GIT\-GENERATE\-CHANGELOG" "1" "October 2017" "" "" . .SH "NAME" \fBgit\-generate\-changelog\fR \- Generate changelog from github @@ -175,12 +175,6 @@ Issues with the specified labels will be always added to "Fixed bugs" section\. Issues with the specified labels will be always added to "Implemented enhancements" section\. Default is \'enhancement,Enhancement\' . .P -\-\-between\-tags x,y,z -. -.P -Change log will be filled only between specified tags -. -.P \-\-exclude\-tags x,y,z . .P @@ -264,6 +258,25 @@ Filename to use for cache\. Default is github\-changelog\-http\-cache in a tempo .P Filename to use for cache log\. Default is github\-changelog\-logger\.log in a temporary directory\. . +.IP "" 4 +. +.nf + +\-\-ssl\-ca\-file [PATH] +. +.fi +. +.IP "" 0 +. +.P +Path to cacert\.pem file\. Default is a bundled lib/github_changelog_generator/ssl_certs/cacert\.pem\. Respects SSL_CA_PATH\. +. +.P +\-\-require file1\.rb,file2\.rb +. +.P +Paths to Ruby file(s) to require before generating changelog\. +. .P \-\-[no\-]verbose . diff --git a/man/git-generate-changelog.1.html b/man/git-generate-changelog.1.html index fda1bc3..201e4e7 100644 --- a/man/git-generate-changelog.1.html +++ b/man/git-generate-changelog.1.html @@ -248,6 +248,15 @@

Filename to use for cache log. Default is github-changelog-logger.log in a temporary directory.

+
--ssl-ca-file [PATH]
+
+ +

Path to cacert.pem file. Default is a bundled lib/github_changelog_generator/ssl_certs/cacert.pem. Respects SSL_CA_PATH.

+ +

--require file1.rb,file2.rb

+ +

Paths to Ruby file(s) to require before generating changelog.

+

--[no-]verbose

Run verbosely. Default is true

@@ -277,7 +286,7 @@
  1. -
  2. December 2016
  3. +
  4. October 2017
  5. git-generate-changelog(1)
diff --git a/man/git-generate-changelog.md b/man/git-generate-changelog.md index 936cb36..a10b066 100644 --- a/man/git-generate-changelog.md +++ b/man/git-generate-changelog.md @@ -177,7 +177,11 @@ Automatically generate change log from your tags, issues, labels and pull reques --ssl-ca-file [PATH] - Path to cacert.pem file. Default is a bundled lib/github_changelog_generator/ssl_certs/cacert.pem. Respects SSL_CA_PATH. + Path to cacert.pem file. Default is a bundled lib/github_changelog_generator/ssl_certs/cacert.pem. Respects SSL_CA_PATH. + + --require file1.rb,file2.rb + + Paths to Ruby file(s) to require before generating changelog. --[no-]verbose