Compare commits

...

21 Commits

Author SHA1 Message Date
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
12 changed files with 94 additions and 65 deletions

12
.codeclimate.yml Normal file
View File

@@ -0,0 +1,12 @@
engines:
duplication:
enabled: true
config:
languages:
- ruby
rubocop:
enabled: true
ratings:
paths:
- "**.rb"
exclude_paths:

View File

@@ -6,31 +6,25 @@ before_install:
- gem install bundler
matrix:
include:
- rvm: 2.2.2
- rvm: 2.2.6
install: true # This skips 'bundle install'
script: gem build github_changelog_generator && gem install *.gem
- rvm: 2.2.2
- rvm: 2.2.6
install: true # This skips 'bundle install'
script: gem build github_changelog_generator && bundle install
gemfile: spec/install-gem-in-bundler.gemfile
- rvm: 2.1
gemfile: gemfiles/Gemfile.2_1
- rvm: 2.3.1
gemfile: gemfiles/Gemfile.2_3_1
- rvm: 2.4.0-preview2
gemfile: gemfiles/Gemfile.2_4_0
- rvm: jruby-9.1.5.0
- rvm: 2.3.3
- rvm: 2.4.0
- rvm: jruby-9.1.6.0
jdk: oraclejdk8
env:
- JRUBY_OPTS=--debug
- rvm: jruby-head
jdk: oraclejdk8
gemfile: gemfiles/Gemfile.jruby-9.1.5.0
env:
- JRUBY_OPTS=--debug
notifications:
email:
recipients:
- sky4winder+githubchangeloggenerator@gmail.com
on_success: never
on_failure: change
addons:
code_climate:
repo_token:

View File

@@ -1,7 +1,30 @@
# Change Log
## [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:**
- We should add a git-generate-changelog command. [\#255](https://github.com/skywinder/github-changelog-generator/issues/255)
- 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)
[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:**
@@ -37,11 +60,11 @@
- 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))
## [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)
[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:**

18
Gemfile
View File

@@ -1,12 +1,14 @@
# frozen_string_literal: true
source "https://rubygems.org"
ruby RUBY_VERSION
gemspec
group :development, :test do
gem "rake"
gem "bundler"
gem "overcommit", ">= 0.31"
gem "rake"
gem "rubocop", ">= 0.43"
end
@@ -15,16 +17,12 @@ group :development do
end
group :test do
gem "vcr"
gem "multi_json"
gem "webmock"
gem "coveralls", "~>0.8", require: false
gem "simplecov", "~>0.10", require: false
gem "codeclimate-test-reporter", "~>0.4"
if RUBY_VERSION > "2"
gem "json", "~> 2.0", ">= 2.0.2"
else
gem "coveralls", "~>0.8", require: false
gem "json"
end
gem "multi_json"
gem "rspec", "< 4"
gem "simplecov", "~>0.10", require: false
gem "vcr"
gem "webmock"
end

View File

@@ -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.
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
- 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:

View File

@@ -1,3 +0,0 @@
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
gem 'rack', '~> 1.6'
gem 'activesupport', '~> 4'

View File

@@ -1,3 +0,0 @@
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
gem 'rack', '>= 2'
gem 'activesupport', '>= 4'

View File

@@ -1,3 +0,0 @@
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
gem 'rack', '>= 2'

View File

@@ -1,3 +0,0 @@
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
gem 'rack', '>= 2'

View File

@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
spec.add_runtime_dependency "rake", ">= 10.0"
spec.add_runtime_dependency "rainbow", ">= 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("activesupport")
spec.add_runtime_dependency("retriable", ["~> 2.1"])

View File

@@ -23,7 +23,7 @@ module GitHubChangelogGenerator
# @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_log If using http_cache, this is the cache log file path
def initialize(options = {}) # rubocop:disable Metrics/CyclomaticComplexity
def initialize(options = {})
@options = options || {}
@user = @options[:user]
@project = @options[:project]
@@ -40,8 +40,7 @@ module GitHubChangelogGenerator
@github_options[:access_token] = @github_token unless @github_token.nil?
@github_options[:api_endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].nil?
client_type = @options[:github_endpoint].nil? ? Octokit::Client : Octokit::EnterpriseAdminClient
@client = client_type.new(@github_options)
@client = Octokit::Client.new(@github_options)
end
def init_cache
@@ -244,38 +243,49 @@ Make sure, that you push tags to remote repo via 'git push --tags'"
end
end
MovedPermanentlyError = Class.new(RuntimeError)
# Iterates through all pages until there are no more :next pages to follow
# yields the result per page
#
# @param [Octokit::Client] client
# @param [String] method (eg. 'tags')
#
# @yield [Sawyer::Resource] An OctoKit-provided response (which can be empty)
#
# @return [Integer] total number of pages
def iterate_pages(client, method, *args)
if args.size == 1 && args.first.is_a?(Hash)
request_options = args.delete_at(0)
elsif args.size > 1 && args.last.is_a?(Hash)
request_options = args.delete_at(args.length - 1)
end
request_opts = extract_request_args(args)
args.push(@request_options.merge(request_opts))
args.push(@request_options.merge(request_options))
number_of_pages = 1
pages = 1
check_github_response do
client.send(method, user_project, *args)
end
check_github_response { client.send(method, user_project, *args) }
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?
pages += 1
number_of_pages += 1
last_response = check_github_response { next_one.get }
yield last_response.data
yield(last_response.data)
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
# This is wrapper with rescue block
@@ -285,7 +295,9 @@ Make sure, that you push tags to remote repo via 'git push --tags'"
Retriable.retriable(retry_options) do
yield
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
Helper.log.error("#{e.class}: #{e.message}")
sys_abort("Exceeded retry limit")

View File

@@ -1,4 +1,4 @@
# frozen_string_literal: true
module GitHubChangelogGenerator
VERSION = "1.14.1"
VERSION = "1.14.3"
end