Compare commits

...

31 Commits

Author SHA1 Message Date
Olle Jonsson d3da434e4a Use ruby-2.4.1 in CI 2017-03-23 00:00:03 +01:00
Olle Jonsson 9cb6306b47 Travis: jruby-9.1.8.0 (#485) 2017-03-10 10:12:33 +01:00
Olle Jonsson d334aa01f2 Option parsing: Remove tag1, tag2 cruft (#479) 2017-02-08 21:58:30 +01:00
Olle Jonsson 1e9e72f1a5 Update to latest CodeClimate (#478)
* Update to latest CodeClimate
* SpecHelper: drop CodeClimate formatter
2017-02-08 21:09:23 +01:00
Olle Jonsson acf1c1604a Gemspec: update retriable to 3.0 (#477) 2017-02-08 20:45:19 +01:00
Olle Jonsson d29c117454 Travis: new JRuby, develop on 2.4.0 (#476)
* Travis: new JRuby, develop on 2.4.0
* CircleCI: ensure new rubygems
* Rubocop: RegexpMatch too edgy; long blocks OK in specs
* Travis: JRuby head fails bundle install
* Travis: Allow failures for jruby-head
2017-02-08 19:52:53 +01:00
Olle Jonsson 8d74965019 Create temporary cache files in Dir.tmpdir (#459)
* OctoFetcher: http_cache options conditional
* Locate cache directory using Dir.tmpdir
* Cache files options can not have defaults
2017-02-08 18:14:02 +01:00
Danny Guo 17702543ef Fix readme typos (#467) 2016-12-31 18:38:03 +01:00
Olle Jonsson 4ec3ad4a54 Gemspec: demand rainbow 2.2.1+ (#466) 2016-12-31 11:01:43 +01:00
Olle Jonsson 08e7a954ff Generated CHANGELOG.md 2016-12-31 10:41:00 +01:00
Olle Jonsson 8ea623fd81 v1.14.3 2016-12-31 10:33:06 +01:00
Olle Jonsson 6e61dfb378 CodeClimate configuration file (#465) 2016-12-30 01:31:40 +01:00
Olle Jonsson 3fee4fca75 Build against 2.4.0 2016-12-27 19:59:53 +01:00
Olle Jonsson 9fc00f3dc3 Travis: add jruby-head, 2.4.0-rc1 (#463) 2016-12-21 16:14:07 +01:00
Olle Jonsson 132ecf255c Gemfiles for building versions separately dropped (#461)
- simpler build by using the ruby version marker in shared gemfile
2016-12-03 13:51:28 +01:00
Olle Jonsson 238f779d38 Order Gemfile gems (#460)
Order Gemfile gems A-Z; add ruby version marker
2016-12-02 22:25:45 +01:00
Olle Jonsson 0b88c3bd54 Travis: Use ruby 2.3.3 and 2.2.6 (#452)
* Travis: Use ruby 2.3.3 and 2.2.6
2016-11-22 21:14:04 +01:00
Olle Jonsson 9c0f7c723f Merge pull request #455 from eliperkins/fix-enterprise
Use Octokit::Client for both .com and Enterprise
2016-11-22 20:57:27 +01:00
Eli Perkins 881ecc161c Use Octokit::Client for both .com and Enterprise
Octokit:EnterpriseAdminClient is only meant to be used for GHE admin
panel endpoints, such as Admin Stats, Management Console, etc.

This repairs GHE functionality by passing the API endpoint parameters
into Octokit::Client and letting it handle the rest.
2016-11-22 13:07:48 -05:00
Olle Jonsson 88cbcd22ed Merge pull request #454 from edusantana/show-where-task-param-are
README: Documentation update about RakeTask params and how to translate labels
2016-11-21 14:28:48 +01:00
Eduardo de Santana Medeiros Alexandre 07081ccf46 capitalize Portuguese 2016-11-20 20:16:04 -03:00
Eduardo de Santana Medeiros Alexandre a9b49927ee Say where params come from 2016-11-20 12:47:07 -03:00
Olle Jonsson 4a74bd0ba6 CHANGELOG for v0.14.2 2016-11-12 10:10:28 +01:00
Olle Jonsson 879668b605 v1.14.2 2016-11-12 10:04:18 +01:00
Olle Jonsson 92137ba0b2 Merge pull request #449 from skywinder/fix/can-not-convert-sawyer-resource-to-array-448
OctoFetcher: Moved repositories fail explicitly
2016-11-11 00:44:09 +01:00
Olle Jonsson b2a29d7279 Travis: Use a Gemfile name that won't outdate 2016-11-10 21:09:19 +01:00
Olle Jonsson 52d14f4b0a Travis: gemfile pointing right 2016-11-10 21:08:14 +01:00
Olle Jonsson 4d4e8ef5a4 Travis: Use jruby-9.1.6.0 and 2.4.0-preview3 2016-11-10 20:48:23 +01:00
Olle Jonsson d4dfc99127 OctoFetcher: Moved repositories fail explicitly 2016-11-10 20:37:46 +01:00
Olle Jonsson 88b23ba790 Bump OctoKit dep 2016-11-10 19:32:42 +01:00
Olle Jonsson d122e00a1a OctoFetcher#iterate_pages: extract method 2016-11-10 19:32:24 +01:00
21 changed files with 155 additions and 103 deletions
+12
View File
@@ -0,0 +1,12 @@
engines:
duplication:
enabled: true
config:
languages:
- ruby
rubocop:
enabled: true
ratings:
paths:
- "**.rb"
exclude_paths:
+7
View File
@@ -10,6 +10,9 @@ AllCops:
Metrics/LineLength: Metrics/LineLength:
Enabled: false Enabled: false
Performance/RegexpMatch:
Enabled: false
#http://viget.com/extend/just-use-double-quoted-ruby-strings #http://viget.com/extend/just-use-double-quoted-ruby-strings
Style/StringLiterals: Style/StringLiterals:
EnforcedStyle: double_quotes EnforcedStyle: double_quotes
@@ -67,3 +70,7 @@ Style/NumericPredicate:
Style/SafeNavigation: Style/SafeNavigation:
Enabled: false Enabled: false
Metrics/BlockLength:
Exclude:
- 'spec/**/*'
+1 -1
View File
@@ -1 +1 @@
2.3.1 2.4.0
+14 -15
View File
@@ -6,32 +6,31 @@ before_install:
- gem install bundler - gem install bundler
matrix: matrix:
include: include:
- rvm: 2.2.2 - rvm: 2.2.6
install: true # This skips 'bundle install' install: true # This skips 'bundle install'
script: gem build github_changelog_generator && gem install *.gem script: gem build github_changelog_generator && gem install *.gem
- rvm: 2.2.2 - rvm: 2.2.6
install: true # This skips 'bundle install' install: true # This skips 'bundle install'
script: gem build github_changelog_generator && bundle install script: gem build github_changelog_generator && bundle install
gemfile: spec/install-gem-in-bundler.gemfile gemfile: spec/install-gem-in-bundler.gemfile
- rvm: 2.1 - rvm: 2.1
gemfile: gemfiles/Gemfile.2_1 - rvm: 2.3.3
- rvm: 2.3.1 - rvm: 2.4.1
gemfile: gemfiles/Gemfile.2_3_1 - rvm: jruby-9.1.8.0
- rvm: 2.4.0-preview2
gemfile: gemfiles/Gemfile.2_4_0
- rvm: jruby-9.1.5.0
jdk: oraclejdk8 jdk: oraclejdk8
gemfile: gemfiles/Gemfile.jruby-9.1.5.0
env: env:
- JRUBY_OPTS=--debug - JRUBY_OPTS=--debug
- rvm: jruby-head
jdk: oraclejdk8
env:
- JRUBY_OPTS=--debug
- DEBUG=1
allow_failures:
- rvm: jruby-head
notifications:
email:
recipients:
- sky4winder+githubchangeloggenerator@gmail.com
on_success: never
on_failure: change
addons: addons:
code_climate: code_climate:
repo_token: repo_token:
secure: iMpV5IAvH+/EVGZrpWnt2BnmNFzSbsRcIumsr4ZyLC8N5nrCSXyjCSy0g48btL3Sj0bSgK9hcrJsmrFd2bkqFleyAcPAzNyUQzBuIRZx47O8yFmbZ+Pj+l3+KOlmcbzJNHfDfxkxuWTmTAcSDfsiyApin721T/ey3SUuwKpZNUc= secure: iMpV5IAvH+/EVGZrpWnt2BnmNFzSbsRcIumsr4ZyLC8N5nrCSXyjCSy0g48btL3Sj0bSgK9hcrJsmrFd2bkqFleyAcPAzNyUQzBuIRZx47O8yFmbZ+Pj+l3+KOlmcbzJNHfDfxkxuWTmTAcSDfsiyApin721T/ey3SUuwKpZNUc=
after_success:
- bundle exec codeclimate-test-reporter
+49 -5
View File
@@ -1,7 +1,50 @@
# Change Log # Change Log
## [v1.14.3](https://github.com/skywinder/github-changelog-generator/tree/v1.14.3) (2016-12-31)
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/v1.14.2...v1.14.3)
**Fixed bugs:**
- Use Octokit::Client for both .com and Enterprise [\#455](https://github.com/skywinder/github-changelog-generator/pull/455) ([eliperkins](https://github.com/eliperkins))
**Closed issues:**
- Last tag contains too many PRs [\#291](https://github.com/skywinder/github-changelog-generator/issues/291)
**Merged pull requests:**
- CodeClimate configuration file [\#465](https://github.com/skywinder/github-changelog-generator/pull/465) ([olleolleolle](https://github.com/olleolleolle))
- Travis: Build against 2.4.0 [\#464](https://github.com/skywinder/github-changelog-generator/pull/464) ([olleolleolle](https://github.com/olleolleolle))
- Travis: add jruby-head, 2.4.0-rc1 [\#463](https://github.com/skywinder/github-changelog-generator/pull/463) ([olleolleolle](https://github.com/olleolleolle))
- Gemfiles for building versions separately dropped [\#461](https://github.com/skywinder/github-changelog-generator/pull/461) ([olleolleolle](https://github.com/olleolleolle))
- Order Gemfile gems A-Z; add ruby version marker [\#460](https://github.com/skywinder/github-changelog-generator/pull/460) ([olleolleolle](https://github.com/olleolleolle))
- README: Documentation update about RakeTask params and how to translate labels [\#454](https://github.com/skywinder/github-changelog-generator/pull/454) ([edusantana](https://github.com/edusantana))
- Travis: Use ruby 2.3.3 and 2.2.6 [\#452](https://github.com/skywinder/github-changelog-generator/pull/452) ([olleolleolle](https://github.com/olleolleolle))
## [v1.14.2](https://github.com/skywinder/github-changelog-generator/tree/v1.14.2) (2016-11-12)
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/v1.14.1...v1.14.2)
**Implemented enhancements:**
- OctoFetcher: Moved repositories fail explicitly [\#449](https://github.com/skywinder/github-changelog-generator/pull/449) ([olleolleolle](https://github.com/olleolleolle))
**Closed issues:**
- Error: can't convert Sawyer::Resource to Array when iterating over a 301 Moved Permanently [\#448](https://github.com/skywinder/github-changelog-generator/issues/448)
## [v1.14.1](https://github.com/skywinder/github-changelog-generator/tree/v1.14.1) (2016-11-06)
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/v1.14.0...v1.14.1)
**Closed issues:**
- multi\_json is required but is listed as a test dependency [\#444](https://github.com/skywinder/github-changelog-generator/issues/444)
**Merged pull requests:**
- Add multi\_json as a runtime dependency [\#445](https://github.com/skywinder/github-changelog-generator/pull/445) ([rnelson0](https://github.com/rnelson0))
## [v1.14.0](https://github.com/skywinder/github-changelog-generator/tree/v1.14.0) (2016-11-05) ## [v1.14.0](https://github.com/skywinder/github-changelog-generator/tree/v1.14.0) (2016-11-05)
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.13.2...v1.14.0) [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/v1.13.2...v1.14.0)
**Implemented enhancements:** **Implemented enhancements:**
@@ -37,11 +80,11 @@
- Drop a stray Markdown file [\#426](https://github.com/skywinder/github-changelog-generator/pull/426) ([olleolleolle](https://github.com/olleolleolle)) - Drop a stray Markdown file [\#426](https://github.com/skywinder/github-changelog-generator/pull/426) ([olleolleolle](https://github.com/olleolleolle))
- Travis: Add JRuby 9.1.5.0 to matrix [\#424](https://github.com/skywinder/github-changelog-generator/pull/424) ([olleolleolle](https://github.com/olleolleolle)) - Travis: Add JRuby 9.1.5.0 to matrix [\#424](https://github.com/skywinder/github-changelog-generator/pull/424) ([olleolleolle](https://github.com/olleolleolle))
## [1.13.2](https://github.com/skywinder/github-changelog-generator/tree/1.13.2) (2016-09-29)
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/v1.13.2...1.13.2)
## [v1.13.2](https://github.com/skywinder/github-changelog-generator/tree/v1.13.2) (2016-09-29) ## [v1.13.2](https://github.com/skywinder/github-changelog-generator/tree/v1.13.2) (2016-09-29)
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.13.1...v1.13.2) [Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.13.2...v1.13.2)
## [1.13.2](https://github.com/skywinder/github-changelog-generator/tree/1.13.2) (2016-09-29)
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.13.1...1.13.2)
**Implemented enhancements:** **Implemented enhancements:**
@@ -251,6 +294,7 @@
**Implemented enhancements:** **Implemented enhancements:**
- We should add a git-generate-changelog command. [\#255](https://github.com/skywinder/github-changelog-generator/issues/255)
- YAML front matter [\#322](https://github.com/skywinder/github-changelog-generator/pull/322) ([retorquere](https://github.com/retorquere)) - YAML front matter [\#322](https://github.com/skywinder/github-changelog-generator/pull/322) ([retorquere](https://github.com/retorquere))
- Git Subcommand [\#288](https://github.com/skywinder/github-changelog-generator/pull/288) ([dlanileonardo](https://github.com/dlanileonardo)) - Git Subcommand [\#288](https://github.com/skywinder/github-changelog-generator/pull/288) ([dlanileonardo](https://github.com/dlanileonardo))
+9 -11
View File
@@ -1,12 +1,14 @@
# frozen_string_literal: true # frozen_string_literal: true
source "https://rubygems.org" source "https://rubygems.org"
ruby RUBY_VERSION
gemspec gemspec
group :development, :test do group :development, :test do
gem "rake"
gem "bundler" gem "bundler"
gem "overcommit", ">= 0.31" gem "overcommit", ">= 0.31"
gem "rake"
gem "rubocop", ">= 0.43" gem "rubocop", ">= 0.43"
end end
@@ -15,16 +17,12 @@ group :development do
end end
group :test do group :test do
gem "vcr" gem "codeclimate-test-reporter", "~> 1.0"
gem "multi_json"
gem "webmock"
gem "coveralls", "~>0.8", require: false gem "coveralls", "~>0.8", require: false
gem "simplecov", "~>0.10", require: false gem "json"
gem "codeclimate-test-reporter", "~>0.4" gem "multi_json"
if RUBY_VERSION > "2"
gem "json", "~> 2.0", ">= 2.0.2"
else
gem "json"
end
gem "rspec", "< 4" gem "rspec", "< 4"
gem "simplecov", "~>0.10", require: false
gem "vcr"
gem "webmock"
end end
+3 -1
View File
@@ -24,7 +24,7 @@ GitHub Changelog Generator ![GitHub Logo](../master/images/logo.jpg)
### Changelog generation has never been so easy ### Changelog generation has never been so easy
**Fully automate changelog generation** - This gem generates change log file based on **tags**, **issues** and merged **pull requests** (and splits them into separate lists according to labels) from :octocat: GitHub Issue Tracker. **Fully automated changelog generation** - This gem generates a change log file based on **tags**, **issues** and merged **pull requests** (and splits them into separate lists according to labels) from :octocat: GitHub Issue Tracker.
Since now you don't have to fill your `CHANGELOG.md` manually: just run the script, relax and take a cup of :coffee: before your next release! :tada: Since now you don't have to fill your `CHANGELOG.md` manually: just run the script, relax and take a cup of :coffee: before your next release! :tada:
@@ -151,6 +151,8 @@ end
All command line options can be passed to the `rake` task as `config` parameters. And since you're naming the `rake` task yourself, you can create as many as you want. All command line options can be passed to the `rake` task as `config` parameters. And since you're naming the `rake` task yourself, you can create as many as you want.
You can look for params names from the [parser source code (#setup_parser)](https://github.com/skywinder/github-changelog-generator/blob/master/lib/github_changelog_generator/parser.rb). For example, to translate the bugs label to Portuguese, instead of setting `config.bugs_label`, you have to set `config.bug_prefix`, and so on.
## Features and advantages of this project ## Features and advantages of this project
- Generate canonical, neat change log file, followed by [basic change log guidelines](http://keepachangelog.com) :gem: - Generate canonical, neat change log file, followed by [basic change log guidelines](http://keepachangelog.com) :gem:
- Optionally generate **Unreleased** changes (closed issues that have not released yet) :dizzy: - Optionally generate **Unreleased** changes (closed issues that have not released yet) :dizzy:
+3
View File
@@ -1,3 +1,6 @@
dependencies:
pre:
- gem update --system
notify: notify:
webhooks: webhooks:
# A list of hook hashes, containing the url field # A list of hook hashes, containing the url field
-3
View File
@@ -1,3 +0,0 @@
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
gem 'rack', '~> 1.6'
gem 'activesupport', '~> 4'
-3
View File
@@ -1,3 +0,0 @@
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
gem 'rack', '>= 2'
gem 'activesupport', '>= 4'
-3
View File
@@ -1,3 +0,0 @@
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
gem 'rack', '>= 2'
-3
View File
@@ -1,3 +0,0 @@
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
gem 'rack', '>= 2'
+3 -3
View File
@@ -25,10 +25,10 @@ Gem::Specification.new do |spec|
spec.require_paths = ["lib"] spec.require_paths = ["lib"]
spec.add_runtime_dependency "rake", ">= 10.0" spec.add_runtime_dependency "rake", ">= 10.0"
spec.add_runtime_dependency "rainbow", ">= 2.1" spec.add_runtime_dependency "rainbow", ">= 2.2.1"
spec.add_runtime_dependency("octokit", ["~> 4.0"]) spec.add_runtime_dependency("octokit", ["~> 4.6"])
spec.add_runtime_dependency("faraday-http-cache") spec.add_runtime_dependency("faraday-http-cache")
spec.add_runtime_dependency("activesupport") spec.add_runtime_dependency("activesupport")
spec.add_runtime_dependency("retriable", ["~> 2.1"]) spec.add_runtime_dependency("retriable", ["~> 3.0"])
spec.add_runtime_dependency("multi_json") spec.add_runtime_dependency("multi_json")
end end
+38 -24
View File
@@ -1,4 +1,5 @@
# frozen_string_literal: true # frozen_string_literal: true
require "tmpdir"
require "retriable" require "retriable"
module GitHubChangelogGenerator module GitHubChangelogGenerator
# A Fetcher responsible for all requests to GitHub and all basic manipulation with related data # A Fetcher responsible for all requests to GitHub and all basic manipulation with related data
@@ -23,16 +24,17 @@ module GitHubChangelogGenerator
# @option options [Boolean] :http_cache Use ActiveSupport::Cache::FileStore to cache http requests # @option options [Boolean] :http_cache Use ActiveSupport::Cache::FileStore to cache http requests
# @option options [Boolean] :cache_file If using http_cache, this is the cache file path # @option options [Boolean] :cache_file If using http_cache, this is the cache file path
# @option options [Boolean] :cache_log If using http_cache, this is the cache log file path # @option options [Boolean] :cache_log If using http_cache, this is the cache log file path
def initialize(options = {}) # rubocop:disable Metrics/CyclomaticComplexity def initialize(options = {})
@options = options || {} @options = options || {}
@user = @options[:user] @user = @options[:user]
@project = @options[:project] @project = @options[:project]
@since = @options[:since] @since = @options[:since]
@http_cache = @options[:http_cache] @http_cache = @options[:http_cache]
@cache_file = @options.fetch(:cache_file, "/tmp/github-changelog-http-cache") if @http_cache if @http_cache
@cache_log = @options.fetch(:cache_log, "/tmp/github-changelog-logger.log") if @http_cache @cache_file = @options.fetch(:cache_file) { File.join(Dir.tmpdir, "github-changelog-http-cache") }
init_cache if @http_cache @cache_log = @options.fetch(:cache_log) { File.join(Dir.tmpdir, "github-changelog-logger.log") }
init_cache
end
@github_token = fetch_github_token @github_token = fetch_github_token
@request_options = { per_page: PER_PAGE_NUMBER } @request_options = { per_page: PER_PAGE_NUMBER }
@@ -40,8 +42,7 @@ module GitHubChangelogGenerator
@github_options[:access_token] = @github_token unless @github_token.nil? @github_options[:access_token] = @github_token unless @github_token.nil?
@github_options[:api_endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].nil? @github_options[:api_endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].nil?
client_type = @options[:github_endpoint].nil? ? Octokit::Client : Octokit::EnterpriseAdminClient @client = Octokit::Client.new(@github_options)
@client = client_type.new(@github_options)
end end
def init_cache def init_cache
@@ -103,7 +104,7 @@ module GitHubChangelogGenerator
print_empty_line print_empty_line
if tags.count == 0 if tags.count == 0
Helper.log.warn "Warning: Can't find any tags in repo.\ Helper.log.warn "Warning: Can't find any tags in repo. \
Make sure, that you push tags to remote repo via 'git push --tags'" Make sure, that you push tags to remote repo via 'git push --tags'"
else else
Helper.log.info "Found #{tags.count} tags" Helper.log.info "Found #{tags.count} tags"
@@ -244,38 +245,49 @@ Make sure, that you push tags to remote repo via 'git push --tags'"
end end
end end
MovedPermanentlyError = Class.new(RuntimeError)
# Iterates through all pages until there are no more :next pages to follow # Iterates through all pages until there are no more :next pages to follow
# yields the result per page # yields the result per page
# #
# @param [Octokit::Client] client # @param [Octokit::Client] client
# @param [String] method (eg. 'tags') # @param [String] method (eg. 'tags')
#
# @yield [Sawyer::Resource] An OctoKit-provided response (which can be empty)
#
# @return [Integer] total number of pages # @return [Integer] total number of pages
def iterate_pages(client, method, *args) def iterate_pages(client, method, *args)
if args.size == 1 && args.first.is_a?(Hash) request_opts = extract_request_args(args)
request_options = args.delete_at(0) args.push(@request_options.merge(request_opts))
elsif args.size > 1 && args.last.is_a?(Hash)
request_options = args.delete_at(args.length - 1)
end
args.push(@request_options.merge(request_options)) number_of_pages = 1
pages = 1 check_github_response { client.send(method, user_project, *args) }
check_github_response do
client.send(method, user_project, *args)
end
last_response = client.last_response last_response = client.last_response
if last_response.status == 301
raise MovedPermanentlyError, last_response.data[:url]
end
yield last_response.data yield(last_response.data)
until (next_one = last_response.rels[:next]).nil? until (next_one = last_response.rels[:next]).nil?
pages += 1 number_of_pages += 1
last_response = check_github_response { next_one.get } last_response = check_github_response { next_one.get }
yield last_response.data yield(last_response.data)
end end
pages number_of_pages
end
def extract_request_args(args)
if args.size == 1 && args.first.is_a?(Hash)
args.delete_at(0)
elsif args.size > 1 && args.last.is_a?(Hash)
args.delete_at(args.length - 1)
else
{}
end
end end
# This is wrapper with rescue block # This is wrapper with rescue block
@@ -285,7 +297,9 @@ Make sure, that you push tags to remote repo via 'git push --tags'"
Retriable.retriable(retry_options) do Retriable.retriable(retry_options) do
yield yield
end end
rescue MovedPermanentlyError => e
Helper.log.error("#{e.class}: #{e.message}")
sys_abort("The repository has moved, please update your configuration")
rescue Octokit::Forbidden => e rescue Octokit::Forbidden => e
Helper.log.error("#{e.class}: #{e.message}") Helper.log.error("#{e.class}: #{e.message}")
sys_abort("Exceeded retry limit") sys_abort("Exceeded retry limit")
+2 -11
View File
@@ -52,11 +52,6 @@ module GitHubChangelogGenerator
:verbose :verbose
] ]
THESE_ARE_DIFFERENT = [
:tag1,
:tag2
]
def initialize(values) def initialize(values)
super(values) super(values)
unsupported_options.any? && raise(UnsupportedOptionError, unsupported_options.inspect) unsupported_options.any? && raise(UnsupportedOptionError, unsupported_options.inspect)
@@ -78,15 +73,11 @@ module GitHubChangelogGenerator
end end
def unsupported_options def unsupported_options
values.keys - supported_options values.keys - KNOWN_OPTIONS
end end
def supported_option?(key) def supported_option?(key)
supported_options.include?(key) KNOWN_OPTIONS.include?(key)
end
def supported_options
KNOWN_OPTIONS + THESE_ARE_DIFFERENT
end end
end end
end end
+3 -7
View File
@@ -167,10 +167,10 @@ module GitHubChangelogGenerator
opts.on("--[no-]http-cache", "Use HTTP Cache to cache Github API requests (useful for large repos) Default is true.") do |http_cache| opts.on("--[no-]http-cache", "Use HTTP Cache to cache Github API requests (useful for large repos) Default is true.") do |http_cache|
options[:http_cache] = http_cache options[:http_cache] = http_cache
end end
opts.on("--cache-file [CACHE-FILE]", "Filename to use for cache. Default is /tmp/github-changelog-http-cache") do |cache_file| opts.on("--cache-file [CACHE-FILE]", "Filename to use for cache. Default is github-changelog-http-cache in a temporary directory.") do |cache_file|
options[:cache_file] = cache_file options[:cache_file] = cache_file
end end
opts.on("--cache-log [CACHE-LOG]", "Filename to use for cache log. Default is /tmp/github-changelog-logger.log") do |cache_log| opts.on("--cache-log [CACHE-LOG]", "Filename to use for cache log. Default is github-changelog-logger.log in a temporary directory.") do |cache_log|
options[:cache_log] = cache_log options[:cache_log] = cache_log
end end
opts.on("--[no-]verbose", "Run verbosely. Default is true") do |v| opts.on("--[no-]verbose", "Run verbosely. Default is true") do |v|
@@ -191,8 +191,6 @@ module GitHubChangelogGenerator
# @return [Hash] Default options # @return [Hash] Default options
def self.default_options def self.default_options
Options.new( Options.new(
tag1: nil,
tag2: nil,
date_format: "%Y-%m-%d", date_format: "%Y-%m-%d",
output: "CHANGELOG.md", output: "CHANGELOG.md",
base: "HISTORY.md", base: "HISTORY.md",
@@ -218,9 +216,7 @@ module GitHubChangelogGenerator
bug_prefix: "**Fixed bugs:**", bug_prefix: "**Fixed bugs:**",
enhancement_prefix: "**Implemented enhancements:**", enhancement_prefix: "**Implemented enhancements:**",
git_remote: "origin", git_remote: "origin",
http_cache: true, http_cache: true
cache_file: "/tmp/github-changelog-http-cache",
cache_log: "/tmp/github-changelog-logger.log"
) )
end end
+1 -1
View File
@@ -1,4 +1,4 @@
# frozen_string_literal: true # frozen_string_literal: true
module GitHubChangelogGenerator module GitHubChangelogGenerator
VERSION = "1.14.1" VERSION = "1.14.3"
end end
+3 -3
View File
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3 .\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3
. .
.TH "GIT\-GENERATE\-CHANGELOG" "1" "November 2016" "" "" .TH "GIT\-GENERATE\-CHANGELOG" "1" "December 2016" "" ""
. .
.SH "NAME" .SH "NAME"
\fBgit\-generate\-changelog\fR \- Generate changelog from github \fBgit\-generate\-changelog\fR \- Generate changelog from github
@@ -256,13 +256,13 @@ Use HTTP Cache to cache Github API requests (useful for large repos) Default is
\-\-[no\-]cache\-file [CACHE\-FILE] \-\-[no\-]cache\-file [CACHE\-FILE]
. .
.P .P
Filename to use for cache\. Default is /tmp/github\-changelog\-http\-cache Filename to use for cache\. Default is github\-changelog\-http\-cache in a temporary directory\.
. .
.P .P
\-\-cache\-log [CACHE\-LOG] \-\-cache\-log [CACHE\-LOG]
. .
.P .P
Filename to use for cache log\. Default is /tmp/github\-changelog\-logger\.log Filename to use for cache log\. Default is github\-changelog\-logger\.log in a temporary directory\.
. .
.P .P
\-\-[no\-]verbose \-\-[no\-]verbose
+3 -3
View File
@@ -246,11 +246,11 @@
<p> --[no-]cache-file [CACHE-FILE]</p> <p> --[no-]cache-file [CACHE-FILE]</p>
<p> Filename to use for cache. Default is /tmp/github-changelog-http-cache</p> <p> Filename to use for cache. Default is github-changelog-http-cache in a temporary directory.</p>
<p> --cache-log [CACHE-LOG]</p> <p> --cache-log [CACHE-LOG]</p>
<p> Filename to use for cache log. Default is /tmp/github-changelog-logger.log</p> <p> Filename to use for cache log. Default is github-changelog-logger.log in a temporary directory.</p>
<p> --[no-]verbose</p> <p> --[no-]verbose</p>
@@ -281,7 +281,7 @@
<ol class='man-decor man-foot man foot'> <ol class='man-decor man-foot man foot'>
<li class='tl'></li> <li class='tl'></li>
<li class='tc'>November 2016</li> <li class='tc'>December 2016</li>
<li class='tr'>git-generate-changelog(1)</li> <li class='tr'>git-generate-changelog(1)</li>
</ol> </ol>
+2 -2
View File
@@ -173,11 +173,11 @@ Automatically generate change log from your tags, issues, labels and pull reques
--[no-]cache-file [CACHE-FILE] --[no-]cache-file [CACHE-FILE]
Filename to use for cache. Default is /tmp/github-changelog-http-cache Filename to use for cache. Default is github-changelog-http-cache in a temporary directory.
--cache-log [CACHE-LOG] --cache-log [CACHE-LOG]
Filename to use for cache log. Default is /tmp/github-changelog-logger.log Filename to use for cache log. Default is github-changelog-logger.log in a temporary directory.
--[no-]verbose --[no-]verbose
+1 -3
View File
@@ -16,7 +16,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# #
require "codeclimate-test-reporter"
require "simplecov" require "simplecov"
require "coveralls" require "coveralls"
require "vcr" require "vcr"
@@ -28,8 +27,7 @@ end
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
Coveralls::SimpleCov::Formatter, Coveralls::SimpleCov::Formatter,
SimpleCov::Formatter::HTMLFormatter, SimpleCov::Formatter::HTMLFormatter
CodeClimate::TestReporter::Formatter
]) ])
SimpleCov.start do SimpleCov.start do
add_filter "gemfiles/" add_filter "gemfiles/"