changelog_merger 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/changelog_merger.rb +11 -6
- data/lib/changelog_merger/parser.rb +44 -6
- data/lib/changelog_merger/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 720e02f4c54c3515b964669d13813b6b774f75d1
|
4
|
+
data.tar.gz: da90361ab3203505ce23d0a17e5e69f3643d4889
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e97e4fa8dd54eddfa60687bb3cb7b5069b4493b26dd7d04a93528216a078dfe914a24a6b6ebdfec42862c8a64285ab6ab95a0b0d44b5da9eb4b89d060ecb9ded
|
7
|
+
data.tar.gz: ac7e3dfd7060ed93a82b8f0805823671de368563cbacdf1e85cec353910f42e1f75ad31ced8f692b36c55fddbcb11bf48900d3d8be38a36d6cbdca48a4bf0786
|
data/lib/changelog_merger.rb
CHANGED
@@ -11,16 +11,21 @@ module ChangelogMerger
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def run_generator
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
if @options[:run_wo_pr]
|
15
|
+
generate_change_log
|
16
|
+
execute_line("open #{@options[:output]}")
|
17
|
+
else
|
18
|
+
go_to_work_dir
|
19
|
+
clone_repo_and_cd
|
20
|
+
generate_change_log
|
21
|
+
add_commit_push
|
22
|
+
end
|
18
23
|
end
|
19
24
|
|
20
25
|
def add_commit_push
|
21
26
|
execute_line('hub fork')
|
22
27
|
execute_line('git checkout -b add-change-log-file')
|
23
|
-
execute_line(
|
28
|
+
execute_line("git add #{@options[:output]}")
|
24
29
|
execute_line("git commit -v -m '#{@options[:message]}'")
|
25
30
|
execute_line('git push skywinder')
|
26
31
|
# execute_line('git push')
|
@@ -28,7 +33,7 @@ module ChangelogMerger
|
|
28
33
|
end
|
29
34
|
|
30
35
|
def generate_change_log
|
31
|
-
execute_line("github_changelog_generator #{@options[:repo]}")
|
36
|
+
execute_line("github_changelog_generator #{@options[:repo]} -o #{@options[:output]}")
|
32
37
|
end
|
33
38
|
|
34
39
|
def clone_repo_and_cd
|
@@ -9,14 +9,24 @@ module ChangelogMerger
|
|
9
9
|
# :include_labels => %w(bug enhancement),
|
10
10
|
|
11
11
|
options = {:message => 'Added automatically generated change log file',
|
12
|
+
:output => 'CHANGELOG.md'
|
12
13
|
# :dry_run => true
|
13
14
|
}
|
14
15
|
|
15
16
|
parser = OptionParser.new { |opts|
|
16
17
|
opts.banner = 'Usage: changelog_merger [options]'
|
17
|
-
opts.on('-r', '--repo REPO', 'destination repo in format user/repo') do |last|
|
18
|
+
opts.on('-r', '--repo [REPO]', 'destination repo in format user/repo') do |last|
|
18
19
|
options[:repo] = last
|
19
20
|
end
|
21
|
+
opts.on('-d', '--dry-run', 'dry run') do |last|
|
22
|
+
options[:dry_run] = last
|
23
|
+
end
|
24
|
+
opts.on('-x', 'just generate log and open it') do |last|
|
25
|
+
options[:run_wo_pr] = last
|
26
|
+
end
|
27
|
+
opts.on('-o', '--output [NAME]', 'Output file. Default is CHANGELOG.md') do |last|
|
28
|
+
options[:output] = last
|
29
|
+
end
|
20
30
|
opts.on('-t', '--token [TOKEN]', 'To make more than 50 requests per hour your GitHub token required. You can generate it here: https://github.com/settings/tokens/new') do |last|
|
21
31
|
options[:token] = last
|
22
32
|
end
|
@@ -44,6 +54,10 @@ module ChangelogMerger
|
|
44
54
|
begin
|
45
55
|
parser.parse!
|
46
56
|
|
57
|
+
if ARGV.count == 1
|
58
|
+
options[:repo] = ARGV[0]
|
59
|
+
end
|
60
|
+
|
47
61
|
mandatory = [:repo] # Enforce the presence of
|
48
62
|
missing = mandatory.select { |param| options[param].nil? } # the -t and -f switches
|
49
63
|
unless missing.empty?
|
@@ -70,11 +84,35 @@ module ChangelogMerger
|
|
70
84
|
options[:pr_message] = "Add automatically generated change log file.
|
71
85
|
|
72
86
|
Hi, as I can see, you are carefully fill tags and labels for issues in your repo.
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
87
|
+
|
88
|
+
And special for such cases - I created a [github_changelog_generator](https://github.com/skywinder/github-changelog-generator), that generate change log file based on **tags**, **issues** and merged **pull requests** (and split them to separate lists according labels) from :octocat: GitHub Issue Tracker.
|
89
|
+
|
90
|
+
By using this script your Change Log will look like this: [Click me!](https://github.com/skywinder/#{options[:project]}/blob/add-change-log-file/#{options[:output]})
|
91
|
+
|
92
|
+
***What’s the point of a change log?***
|
93
|
+
To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project.
|
94
|
+
|
95
|
+
And now you don't need to spend a lot of :hourglass_flowing_sand: for filling it manually!
|
96
|
+
|
97
|
+
Some essential features of **github_changelog_generator**:
|
98
|
+
|
99
|
+
- Generate **neat** Change Log file according basic [change log guidelines](http://keepachangelog.com). :gem:
|
100
|
+
|
101
|
+
- **Distinguish** issues **according labels**:
|
102
|
+
- Merged pull requests (all `merged` pull-requests)
|
103
|
+
- Bug fixes (by label `bug` in issue)
|
104
|
+
- Enhancements (by label `enhancement` in issue)
|
105
|
+
- Issues (closed issues `w/o any labels`)
|
106
|
+
|
107
|
+
- it **exclude** not-related to changelog issues (any issue, that has label `question` `duplicate` `invalid` `wontfix` ) :scissors:
|
108
|
+
|
109
|
+
- You can set which labels should be included/excluded and apply a lot of other customisations, to fit changelog for your personal style :tophat: (*look `github_changelog_generator --help` for details)*
|
110
|
+
|
111
|
+
You can easily update this file in future by simply run script: `github_changelog_generator #{options[:repo]}` in your repo folder and it make your Change Log file up-to-date again!
|
112
|
+
|
113
|
+
Since now you don't have to fill your `CHANGELOG.md` manually: just run script, relax and take a cup of :coffee: before your next release!
|
114
|
+
|
115
|
+
Hope you find this commit as useful. :wink:"
|
78
116
|
|
79
117
|
if options[:verbose]
|
80
118
|
puts 'Performing task with options:'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: changelog_merger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Petr Korolev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|