Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
901c5ffba3 | ||
|
|
89ddb6291a | ||
|
|
65594a63c0 | ||
|
|
3a41f22339 | ||
|
|
a139eff84b | ||
|
|
95d4e49171 |
26
CHANGELOG.md
26
CHANGELOG.md
@@ -1,31 +1,5 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
## [1.11.2](https://github.com/skywinder/github-changelog-generator/tree/1.11.2) (2016-02-25)
|
|
||||||
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.11.1...1.11.2)
|
|
||||||
|
|
||||||
**Fixed bugs:**
|
|
||||||
|
|
||||||
- Getting an error on install [\#329](https://github.com/skywinder/github-changelog-generator/issues/329)
|
|
||||||
|
|
||||||
**Merged pull requests:**
|
|
||||||
|
|
||||||
- Fix installation by not running the specs - which have dependencies [\#337](https://github.com/skywinder/github-changelog-generator/pull/337) ([skywinder](https://github.com/skywinder))
|
|
||||||
|
|
||||||
## [1.11.1](https://github.com/skywinder/github-changelog-generator/tree/1.11.1) (2016-02-25)
|
|
||||||
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.11.0...1.11.1)
|
|
||||||
|
|
||||||
**Merged pull requests:**
|
|
||||||
|
|
||||||
- Add rubocop and rspec as runtime dependencies [\#336](https://github.com/skywinder/github-changelog-generator/pull/336) ([jkeiser](https://github.com/jkeiser))
|
|
||||||
- \[Refactor\] ParserFile class use Pathname [\#334](https://github.com/skywinder/github-changelog-generator/pull/334) ([olleolleolle](https://github.com/olleolleolle))
|
|
||||||
- \[Refactor\] Generator\#exclude\_issues\_by\_labels simpler, tested [\#332](https://github.com/skywinder/github-changelog-generator/pull/332) ([olleolleolle](https://github.com/olleolleolle))
|
|
||||||
|
|
||||||
## [1.11.0](https://github.com/skywinder/github-changelog-generator/tree/1.11.0) (2016-02-24)
|
|
||||||
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.10.5...1.11.0)
|
|
||||||
|
|
||||||
## [1.10.5](https://github.com/skywinder/github-changelog-generator/tree/1.10.5) (2016-02-24)
|
|
||||||
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.10.4...1.10.5)
|
|
||||||
|
|
||||||
## [1.10.4](https://github.com/skywinder/github-changelog-generator/tree/1.10.4) (2016-02-24)
|
## [1.10.4](https://github.com/skywinder/github-changelog-generator/tree/1.10.4) (2016-02-24)
|
||||||
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.10.3...1.10.4)
|
[Full Changelog](https://github.com/skywinder/github-changelog-generator/compare/1.10.3...1.10.4)
|
||||||
|
|
||||||
|
|||||||
2
Gemfile
2
Gemfile
@@ -3,6 +3,8 @@ source "https://rubygems.org"
|
|||||||
gemspec
|
gemspec
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
|
gem "rspec", "~>3.2"
|
||||||
|
gem "rubocop", "~>0.31"
|
||||||
gem "coveralls", "~>0.8", require: false
|
gem "coveralls", "~>0.8", require: false
|
||||||
gem "simplecov", "~>0.10", require: false
|
gem "simplecov", "~>0.10", require: false
|
||||||
gem "codeclimate-test-reporter", "~>0.4"
|
gem "codeclimate-test-reporter", "~>0.4"
|
||||||
|
|||||||
12
Gemfile.lock
12
Gemfile.lock
@@ -1,14 +1,12 @@
|
|||||||
PATH
|
PATH
|
||||||
remote: .
|
remote: .
|
||||||
specs:
|
specs:
|
||||||
github_changelog_generator (1.11.2)
|
github_changelog_generator (1.10.4)
|
||||||
bundler (>= 1.7)
|
bundler (~> 1.7)
|
||||||
colorize (~> 0.7)
|
colorize (~> 0.7)
|
||||||
github_api (~> 0.12)
|
github_api (~> 0.12)
|
||||||
overcommit (>= 0.31)
|
overcommit (~> 0.31)
|
||||||
rake (>= 10.0)
|
rake (~> 10.0)
|
||||||
rspec (>= 3.2)
|
|
||||||
rubocop (>= 0.31)
|
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
@@ -101,6 +99,8 @@ DEPENDENCIES
|
|||||||
codeclimate-test-reporter (~> 0.4)
|
codeclimate-test-reporter (~> 0.4)
|
||||||
coveralls (~> 0.8)
|
coveralls (~> 0.8)
|
||||||
github_changelog_generator!
|
github_changelog_generator!
|
||||||
|
rspec (~> 3.2)
|
||||||
|
rubocop (~> 0.31)
|
||||||
simplecov (~> 0.10)
|
simplecov (~> 0.10)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
|
|||||||
2
Rakefile
2
Rakefile
@@ -20,4 +20,4 @@ task :create_man do |_t|
|
|||||||
end
|
end
|
||||||
|
|
||||||
task checks: [:rubocop, :rspec]
|
task checks: [:rubocop, :rspec]
|
||||||
task default: [:create_man]
|
task default: [:checks, :create_man]
|
||||||
|
|||||||
@@ -17,18 +17,16 @@ Gem::Specification.new do |spec|
|
|||||||
spec.description = "Changelog generation has never been so easy. Fully automate changelog generation - this gem generate change log file based on tags, issues and merged pull requests from Github issue tracker."
|
spec.description = "Changelog generation has never been so easy. Fully automate changelog generation - this gem generate change log file based on tags, issues and merged pull requests from Github issue tracker."
|
||||||
spec.homepage = "https://github.com/skywinder/Github-Changelog-Generator"
|
spec.homepage = "https://github.com/skywinder/Github-Changelog-Generator"
|
||||||
spec.license = "MIT"
|
spec.license = "MIT"
|
||||||
#spec.extensions = ["Rakefile"]
|
# spec.extensions = ["Rakefile"]
|
||||||
|
|
||||||
spec.files = `git ls-files -z`.split("\x0")
|
spec.files = `git ls-files -z`.split("\x0")
|
||||||
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
||||||
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
||||||
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 "bundler", ">= 1.7"
|
spec.add_runtime_dependency "bundler", "~> 1.7"
|
||||||
spec.add_runtime_dependency("github_api", ["~> 0.12"])
|
spec.add_runtime_dependency("github_api", ["~> 0.12"])
|
||||||
spec.add_runtime_dependency("colorize", ["~> 0.7"])
|
spec.add_runtime_dependency("colorize", ["~> 0.7"])
|
||||||
spec.add_runtime_dependency("overcommit", ">= 0.31")
|
spec.add_runtime_dependency("overcommit", "~>0.31")
|
||||||
spec.add_runtime_dependency("rubocop", ">= 0.31")
|
|
||||||
spec.add_runtime_dependency("rspec", ">= 3.2")
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,12 +4,13 @@ module GitHubChangelogGenerator
|
|||||||
# @param [Array] issues
|
# @param [Array] issues
|
||||||
# @return [Array] filtered array
|
# @return [Array] filtered array
|
||||||
def exclude_issues_by_labels(issues)
|
def exclude_issues_by_labels(issues)
|
||||||
return issues if !@options[:exclude_labels] || @options[:exclude_labels].empty?
|
unless @options[:exclude_labels].nil?
|
||||||
|
issues = issues.select do |issue|
|
||||||
issues.reject do |issue|
|
var = issue.labels.map(&:name) & @options[:exclude_labels]
|
||||||
labels = issue.labels.map(&:name)
|
!var.any?
|
||||||
(labels & @options[:exclude_labels]).any?
|
end
|
||||||
end
|
end
|
||||||
|
issues
|
||||||
end
|
end
|
||||||
|
|
||||||
# @return [Array] filtered issues accourding milestone
|
# @return [Array] filtered issues accourding milestone
|
||||||
|
|||||||
@@ -1,24 +1,21 @@
|
|||||||
require "pathname"
|
|
||||||
|
|
||||||
module GitHubChangelogGenerator
|
module GitHubChangelogGenerator
|
||||||
ParserError = Class.new(StandardError)
|
ParserError = Class.new(StandardError)
|
||||||
|
|
||||||
class ParserFile
|
class ParserFile
|
||||||
FILENAME = ".github_changelog_generator"
|
|
||||||
|
|
||||||
def initialize(options)
|
def initialize(options)
|
||||||
@options = options
|
@options = options
|
||||||
end
|
end
|
||||||
|
|
||||||
# Destructively change @options using data in configured options file.
|
|
||||||
def parse!
|
def parse!
|
||||||
file.each_line { |line| parse_line!(line) } if file.exist?
|
return unless File.exist?(file)
|
||||||
|
|
||||||
|
File.readlines(file).each { |line| parse_line!(line) }
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def file
|
def file
|
||||||
@file ||= Pathname(File.expand_path(@options[:params_file] || FILENAME))
|
@file ||= File.expand_path(@options[:params_file] || ".github_changelog_generator")
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse_line!(line)
|
def parse_line!(line)
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
module GitHubChangelogGenerator
|
module GitHubChangelogGenerator
|
||||||
VERSION = "1.11.3"
|
VERSION = "1.10.5"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
module GitHubChangelogGenerator
|
|
||||||
describe Generator do
|
|
||||||
context "#exclude_issues_by_labels" do
|
|
||||||
let(:label) { double("the-bad-label", name: "BAD") }
|
|
||||||
let(:issue) { double("the-issue-to-be-excluded", labels: [label]) }
|
|
||||||
let(:good_label) { double("a-good-label", name: "GOOD") }
|
|
||||||
let(:good_issue) { double("an-issue-to-be-kept", labels: [good_label]) }
|
|
||||||
let(:issues) { [issue, good_issue] }
|
|
||||||
subject(:generator) { described_class.new(exclude_labels: %w(BAD BOO)) }
|
|
||||||
|
|
||||||
it "removes issues with labels in the exclude_label list" do
|
|
||||||
result = generator.exclude_issues_by_labels(issues)
|
|
||||||
|
|
||||||
expect(result).to include(good_issue)
|
|
||||||
expect(result).not_to include(issue)
|
|
||||||
end
|
|
||||||
|
|
||||||
context "with no option given" do
|
|
||||||
subject(:generator) { described_class.new }
|
|
||||||
it "passes everything through when no option given" do
|
|
||||||
result = generator.exclude_issues_by_labels(issues)
|
|
||||||
|
|
||||||
expect(result).to eq(issues)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Reference in New Issue
Block a user