git-release 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +17 -0
- data/.travis.yml +8 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +150 -0
- data/Rakefile +1 -0
- data/bin/git-release +135 -0
- data/bin/git-release-deployed +140 -0
- data/git-release.gemspec +23 -0
- data/lib/git-release.rb +1 -0
- data/lib/git_release/version.rb +3 -0
- data/support/changelog-functions.sh +200 -0
- data/support/git-functions.sh +78 -0
- data/support/git-release-functions.sh +125 -0
- data/support/language-bash.sh +30 -0
- data/support/support-functions.sh +10 -0
- data/test/bin/run_all +7 -0
- data/test/integration/releaseable-deployed-test.sh +359 -0
- data/test/integration/releaseable-test.sh +409 -0
- data/test/support/roundup +310 -0
- data/test/test_helper.sh +95 -0
- data/test/unit/changelog-functions-test.sh +440 -0
- data/test/unit/git-functions-test.sh +215 -0
- data/test/unit/releaseable-test.sh +185 -0
- metadata +112 -0
@@ -0,0 +1,215 @@
|
|
1
|
+
#!/bin/bash -e
|
2
|
+
|
3
|
+
. ./test/test_helper.sh
|
4
|
+
. ./support/git-functions.sh
|
5
|
+
|
6
|
+
describe "git-release - unit - git functions"
|
7
|
+
|
8
|
+
after() {
|
9
|
+
if [[ $MAINTAIN_SANDBOX != true ]]; then
|
10
|
+
remove_sandbox
|
11
|
+
fi;
|
12
|
+
}
|
13
|
+
|
14
|
+
it_uses_check_tag_exists_to_return_false_if_no_tags_exist() {
|
15
|
+
generate_git_repo
|
16
|
+
|
17
|
+
result=$(set +e ; check_tag_exists "not/found/anything" ; echo $?)
|
18
|
+
test 1 -eq $result
|
19
|
+
|
20
|
+
result=$(set +e ; check_tag_exists "" ; echo $?)
|
21
|
+
test 1 -eq $result
|
22
|
+
}
|
23
|
+
|
24
|
+
it_uses_check_tag_exists_to_return_false_if_it_doesnt_exist() {
|
25
|
+
local tags=(
|
26
|
+
"release/v1.0.5"
|
27
|
+
"release/v1.0.6"
|
28
|
+
)
|
29
|
+
generate_sandbox_tags tags[@]
|
30
|
+
|
31
|
+
result=$(set +e ; check_tag_exists "not/found/anything" ; echo $?)
|
32
|
+
test 1 -eq $result
|
33
|
+
|
34
|
+
result=$(set +e ; check_tag_exists ""; echo $?)
|
35
|
+
test 1 -eq $result
|
36
|
+
}
|
37
|
+
|
38
|
+
it_uses_check_tag_exists_to_return_true_if_tag_exists() {
|
39
|
+
|
40
|
+
local tags=(
|
41
|
+
"release/v1.0.5"
|
42
|
+
"release/v1.0.6"
|
43
|
+
)
|
44
|
+
generate_sandbox_tags tags[@]
|
45
|
+
|
46
|
+
result=$(set +e ; check_tag_exists "release/v1.0.5" ; echo $?)
|
47
|
+
test 0 -eq $result
|
48
|
+
|
49
|
+
result=$(set +e ; check_tag_exists "release/v1.0.6" ; echo $?)
|
50
|
+
test 0 -eq $result
|
51
|
+
}
|
52
|
+
|
53
|
+
#ensure_git_directory()
|
54
|
+
|
55
|
+
it_fails_on_ensure_git_directory_with_no_git() {
|
56
|
+
enter_sandbox
|
57
|
+
rm -rf .git
|
58
|
+
|
59
|
+
should_fail "$(ensure_git_directory)"
|
60
|
+
}
|
61
|
+
|
62
|
+
it_passes_on_ensure_git_directory_with_git_directory() {
|
63
|
+
enter_sandbox
|
64
|
+
mkdir -p .git
|
65
|
+
|
66
|
+
should_succeed $(ensure_git_directory)
|
67
|
+
}
|
68
|
+
|
69
|
+
#ensure_git_is_clean()
|
70
|
+
|
71
|
+
it_fails_on_ensure_git_is_clean_when_dirty(){
|
72
|
+
generate_git_repo
|
73
|
+
should_succeed $(ensure_git_is_clean)
|
74
|
+
touch 'AnyOldFile'
|
75
|
+
should_fail $(ensure_git_is_clean)
|
76
|
+
|
77
|
+
test "$(ensure_git_is_clean)" = "Error - Current branch is in a dirty state, please commit your changes first.
|
78
|
+
# On branch master
|
79
|
+
# Untracked files:
|
80
|
+
# (use \"git add <file>...\" to include in what will be committed)
|
81
|
+
#
|
82
|
+
#"$'\t'"AnyOldFile
|
83
|
+
nothing added to commit but untracked files present (use \"git add\" to track)"
|
84
|
+
}
|
85
|
+
|
86
|
+
it_passes_on_ensure_git_is_clean_when_clean(){
|
87
|
+
generate_git_repo
|
88
|
+
|
89
|
+
should_succeed $(ensure_git_is_clean)
|
90
|
+
}
|
91
|
+
|
92
|
+
#get_commits_between_points
|
93
|
+
|
94
|
+
it_uses_get_commits_between_points_to_list_all_commits_with_nothing_passed() {
|
95
|
+
generate_git_repo
|
96
|
+
|
97
|
+
test "$(get_commits_between_points)" = "$(get_sha_for_first_commit)"
|
98
|
+
}
|
99
|
+
|
100
|
+
it_uses_get_commits_between_points_to_list_all_commits_from_a_start_point() {
|
101
|
+
local tags=(
|
102
|
+
"random_tag_1"
|
103
|
+
"release/v1.0.5"
|
104
|
+
"random_tag_2"
|
105
|
+
"release/v1.0.6"
|
106
|
+
"random_tag_3"
|
107
|
+
)
|
108
|
+
generate_sandbox_tags tags[@]
|
109
|
+
|
110
|
+
local output=$(get_commits_between_points 'random_tag_2')
|
111
|
+
test "$output" = "$(get_sha_for_tag_name 'random_tag_3')
|
112
|
+
$(get_sha_for_tag_name 'release/v1.0.6')
|
113
|
+
$(get_sha_for_tag_name 'random_tag_2')"
|
114
|
+
}
|
115
|
+
|
116
|
+
it_uses_get_commits_between_points_to_get_nothing_when_no_commits_exists() {
|
117
|
+
generate_git_repo
|
118
|
+
|
119
|
+
should_fail $(get_commits_between_points 'anyTagName' 'anotherTagName')
|
120
|
+
}
|
121
|
+
|
122
|
+
it_uses_get_commits_between_points_to_return_commits_with_no_start_point() {
|
123
|
+
local tags=(
|
124
|
+
"random_tag_1"
|
125
|
+
"release/v1.0.5"
|
126
|
+
"random_tag_2"
|
127
|
+
"release/v1.0.6"
|
128
|
+
"random_tag_3"
|
129
|
+
)
|
130
|
+
generate_sandbox_tags tags[@]
|
131
|
+
|
132
|
+
local start_point=""
|
133
|
+
local end_point="release/v1.0.6"
|
134
|
+
local output=$(get_commits_between_points "$start_point" "$end_point")
|
135
|
+
|
136
|
+
#Ordered by creation date
|
137
|
+
local target_tag_sha=$(get_sha_for_tag_name 'release/v1.0.6')
|
138
|
+
local older_sha_1=$(get_sha_for_tag_name 'random_tag_2')
|
139
|
+
local older_sha_2=$(get_sha_for_tag_name 'release/v1.0.5')
|
140
|
+
local older_sha_3=$(get_sha_for_tag_name 'random_tag_1')
|
141
|
+
local initial_commit=$(get_sha_for_first_commit)
|
142
|
+
|
143
|
+
test "$output" = "$target_tag_sha
|
144
|
+
$older_sha_1
|
145
|
+
$older_sha_2
|
146
|
+
$older_sha_3
|
147
|
+
$initial_commit"
|
148
|
+
}
|
149
|
+
|
150
|
+
it_uses_get_commits_between_points_to_return_all_commits_between_points_with_filter() {
|
151
|
+
local tags=(
|
152
|
+
"random_tag_1"
|
153
|
+
"random_tag_2"
|
154
|
+
"release/production/v1.0.9"
|
155
|
+
"release/production/v3.0.9"
|
156
|
+
"release/production/v3.1.9"
|
157
|
+
"release/staging/v2.0.3"
|
158
|
+
)
|
159
|
+
generate_sandbox_tags tags[@]
|
160
|
+
|
161
|
+
local start_point="release/production/v1.0.9"
|
162
|
+
local end_point="release/production/v3.0.9"
|
163
|
+
|
164
|
+
local commit_message=$(get_commit_message_for_latest_commit 'release/production/v3.0.9')
|
165
|
+
local target_tag_sha=$(get_sha_for_tag_name 'release/production/v3.0.9')
|
166
|
+
|
167
|
+
local output=$(get_commits_between_points "$start_point" "$end_point" "$commit_message")
|
168
|
+
|
169
|
+
test "$output" = "$target_tag_sha"
|
170
|
+
}
|
171
|
+
|
172
|
+
it_uses_get_commits_between_points_to_return_all_commits_with_no_start_point_with_filter() {
|
173
|
+
local tags=(
|
174
|
+
"random_tag_1"
|
175
|
+
"random_tag_2"
|
176
|
+
"release/production/v1.0.9"
|
177
|
+
"release/production/v3.0.9"
|
178
|
+
"release/production/v3.1.9"
|
179
|
+
"release/staging/v2.0.3"
|
180
|
+
)
|
181
|
+
generate_sandbox_tags tags[@]
|
182
|
+
|
183
|
+
local start_point=""
|
184
|
+
local end_point="release/production/v3.1.9"
|
185
|
+
|
186
|
+
local commit_message=$(get_commit_message_for_latest_commit 'release/production/v3.1.9')
|
187
|
+
local target_tag_sha=$(get_sha_for_tag_name 'release/production/v3.1.9')
|
188
|
+
|
189
|
+
local output=$(get_commits_between_points "$start_point" "$end_point" "$commit_message")
|
190
|
+
|
191
|
+
test "$output" = "$target_tag_sha"
|
192
|
+
}
|
193
|
+
|
194
|
+
it_uses_get_commits_between_points_to_return_all_commits_between_points() {
|
195
|
+
local tags=(
|
196
|
+
'random_tag_1'
|
197
|
+
'release/v1.0.5'
|
198
|
+
'random_tag_2'
|
199
|
+
'release/v1.0.6'
|
200
|
+
)
|
201
|
+
generate_sandbox_tags tags[@]
|
202
|
+
|
203
|
+
local start_point="release/v1.0.5"
|
204
|
+
local end_point="release/v1.0.6"
|
205
|
+
local output=$(get_commits_between_points "$start_point" "$end_point")
|
206
|
+
|
207
|
+
#Ordered by creation date
|
208
|
+
local target_tag_sha=$(get_sha_for_tag_name 'release/v1.0.6')
|
209
|
+
local older_sha_1=$(get_sha_for_tag_name 'random_tag_2')
|
210
|
+
local older_sha_2=$(get_sha_for_tag_name 'release/v1.0.5')
|
211
|
+
|
212
|
+
test "$output" = "$target_tag_sha
|
213
|
+
$older_sha_1
|
214
|
+
$older_sha_2"
|
215
|
+
}
|
@@ -0,0 +1,185 @@
|
|
1
|
+
#!/bin/bash -e
|
2
|
+
|
3
|
+
. ./test/test_helper.sh
|
4
|
+
. ./support/git-release-functions.sh
|
5
|
+
|
6
|
+
describe "git-release - unit"
|
7
|
+
|
8
|
+
after() {
|
9
|
+
if [[ $MAINTAIN_SANDBOX != true ]]; then
|
10
|
+
remove_sandbox
|
11
|
+
fi;
|
12
|
+
}
|
13
|
+
|
14
|
+
#validate_inputs()
|
15
|
+
|
16
|
+
it_fails_on_validate_inputs_with_no_version_type() {
|
17
|
+
should_fail "$(validate_version_type)"
|
18
|
+
}
|
19
|
+
|
20
|
+
it_fails_on_validate_inputs_with_invalid_version_type() {
|
21
|
+
should_fail "$(validate_version_type "invalid_type")"
|
22
|
+
}
|
23
|
+
|
24
|
+
it_passes_on_validate_inputs_with_major_version_type() {
|
25
|
+
should_succeed $(validate_version_type "major")
|
26
|
+
}
|
27
|
+
|
28
|
+
it_passes_on_validate_inputs_with_minor_version_type() {
|
29
|
+
should_succeed $(validate_version_type "minor")
|
30
|
+
}
|
31
|
+
|
32
|
+
it_passes_on_validate_inputs_with_patch_version_type() {
|
33
|
+
should_succeed $(validate_version_type "patch")
|
34
|
+
}
|
35
|
+
|
36
|
+
#get_release_tags()
|
37
|
+
|
38
|
+
it_uses_get_release_tags_to_return_all_tags_with_no_pattern_ordered_by_alpha() {
|
39
|
+
local tags=(
|
40
|
+
"random_tag_1"
|
41
|
+
"random_tag_2"
|
42
|
+
"random_tag_3"
|
43
|
+
"release/production/v1.0.9"
|
44
|
+
"release/production/v3.0.9"
|
45
|
+
)
|
46
|
+
generate_sandbox_tags tags[@]
|
47
|
+
|
48
|
+
test "$(get_release_tags)" = "random_tag_1
|
49
|
+
random_tag_2
|
50
|
+
random_tag_3
|
51
|
+
release/production/v1.0.9
|
52
|
+
release/production/v3.0.9"
|
53
|
+
}
|
54
|
+
|
55
|
+
it_uses_get_release_tags_to_return_tags_matching_a_given_pattern() {
|
56
|
+
local tags=(
|
57
|
+
"random_tag_1"
|
58
|
+
"random_tag_2"
|
59
|
+
"random_tag_3"
|
60
|
+
"release/production/v1.0.9"
|
61
|
+
"release/production/v3.0.9"
|
62
|
+
)
|
63
|
+
generate_sandbox_tags tags[@]
|
64
|
+
|
65
|
+
local output=$(get_release_tags random)
|
66
|
+
test "$output" = "random_tag_1
|
67
|
+
random_tag_2
|
68
|
+
random_tag_3"
|
69
|
+
|
70
|
+
local output=$(get_release_tags release/production)
|
71
|
+
test "$output" = "release/production/v1.0.9
|
72
|
+
release/production/v3.0.9"
|
73
|
+
}
|
74
|
+
|
75
|
+
#get_last_tag_name()
|
76
|
+
|
77
|
+
it_uses_get_last_tag_name_to_find_the_last_tag_scoped_by_pattern() {
|
78
|
+
local tags=(
|
79
|
+
"random_tag_1"
|
80
|
+
"release/production/v1.0.9"
|
81
|
+
"release/production/v3.0.9"
|
82
|
+
)
|
83
|
+
generate_sandbox_tags tags[@]
|
84
|
+
|
85
|
+
local output=$(get_last_tag_name "release/production/v")
|
86
|
+
test "$output" = "release/production/v3.0.9"
|
87
|
+
}
|
88
|
+
|
89
|
+
it_uses_get_last_tag_name_to_return_nothing_with_no_tags() {
|
90
|
+
test "$(get_last_tag_name 'no/existing/tags')" = ""
|
91
|
+
}
|
92
|
+
|
93
|
+
it_uses_get_last_tag_name_to_return_nothing_with_no_matches() {
|
94
|
+
local tags=(
|
95
|
+
"random_tag_1"
|
96
|
+
"release/production/v3.0.9"
|
97
|
+
)
|
98
|
+
generate_sandbox_tags tags[@]
|
99
|
+
|
100
|
+
test "$(get_last_tag_name 'no/matches/atall')" = ""
|
101
|
+
}
|
102
|
+
|
103
|
+
#get_versioning_prefix_from_tag()
|
104
|
+
|
105
|
+
it_uses_get_versioning_prefix_from_tag_to_error_on_missing_tag() {
|
106
|
+
should_fail $(get_versioning_prefix_from_tag)
|
107
|
+
}
|
108
|
+
|
109
|
+
it_uses_get_versioning_prefix_from_tag_with_an_invalid_tag_name() {
|
110
|
+
should_fail $(get_versioning_prefix_from_tag invalidx.x.x)
|
111
|
+
should_fail $(get_versioning_prefix_from_tag invalid0.0.x)
|
112
|
+
should_fail $(get_versioning_prefix_from_tag invalid1.0)
|
113
|
+
should_fail $(get_versioning_prefix_from_tag invalid0)
|
114
|
+
should_fail $(get_versioning_prefix_from_tag invalidNoVersionNumber)
|
115
|
+
}
|
116
|
+
|
117
|
+
it_uses_get_versioning_prefix_from_tag_to_succeed_capturing_version_prefix() {
|
118
|
+
test "$(get_versioning_prefix_from_tag 'releases/2.1.3')" = "releases/"
|
119
|
+
test "$(get_versioning_prefix_from_tag 'r/v/2.1.3')" = "r/v/"
|
120
|
+
test "$(get_versioning_prefix_from_tag 'some/old/release/v1.0.40')" = "some/old/release/v"
|
121
|
+
}
|
122
|
+
|
123
|
+
#get_version_number_from_tag()
|
124
|
+
|
125
|
+
it_uses_get_version_number_from_tag_to_error_on_missing_tag() {
|
126
|
+
should_fail $(get_version_number_from_tag)
|
127
|
+
}
|
128
|
+
|
129
|
+
it_uses_get_version_number_from_tag_to_error_with_an_invalid_tag_name() {
|
130
|
+
should_fail $(get_version_number_from_tag invalidx.x.x)
|
131
|
+
should_fail $(get_version_number_from_tag invalid1.0)
|
132
|
+
should_fail $(get_version_number_from_tag invalid0)
|
133
|
+
}
|
134
|
+
|
135
|
+
it_uses_get_version_number_from_tag_to_succeed_capturing_version_numbers() {
|
136
|
+
test "$(get_version_number_from_tag 'releases/v102.29.20')" = "102.29.20"
|
137
|
+
test "$(get_version_number_from_tag '1.22.33')" = "1.22.33"
|
138
|
+
test "$(get_version_number_from_tag 'Release with Spaces40.50.60')" = "40.50.60"
|
139
|
+
}
|
140
|
+
|
141
|
+
#get_next_version_number_from_tag()
|
142
|
+
|
143
|
+
it_uses_get_next_version_number_from_tag_to_error_on_missing_version_type() {
|
144
|
+
should_fail $(get_next_version_number_from_tag)
|
145
|
+
}
|
146
|
+
|
147
|
+
it_uses_get_next_version_number_from_tag_to_error_with_an_invalid_last_tag_name() {
|
148
|
+
should_fail $(get_next_version_number_from_tag major invalidx.x.x)
|
149
|
+
should_fail $(get_next_version_number_from_tag major invalid1.0)
|
150
|
+
should_fail $(get_next_version_number_from_tag major invalid0)
|
151
|
+
}
|
152
|
+
|
153
|
+
it_uses_get_next_version_number_from_tag_to_succeed_with_an_empty_version_prefix() {
|
154
|
+
should_succeed $(get_next_version_number_from_tag major)
|
155
|
+
}
|
156
|
+
|
157
|
+
it_uses_get_next_version_number_from_tag_to_succeed_with_no_existing_tags() {
|
158
|
+
should_succeed $(get_next_version_number_from_tag major v1.0.40)
|
159
|
+
}
|
160
|
+
|
161
|
+
it_uses_get_next_version_number_from_tag_to_succeed_with_no_matching_tags() {
|
162
|
+
local output=$(get_next_version_number_from_tag major some/old/release/v1.0.40)
|
163
|
+
test $output = "2.0.40"
|
164
|
+
}
|
165
|
+
|
166
|
+
it_uses_get_next_version_number_from_tag_to_succeed_incrementing_with_no_last_version() {
|
167
|
+
local output=$(get_next_version_number_from_tag major)
|
168
|
+
test $output = "1.0.0"
|
169
|
+
}
|
170
|
+
|
171
|
+
it_uses_get_next_version_number_from_tag_to_succeed_incrementing_with_found_last_version() {
|
172
|
+
local output=$(get_next_version_number_from_tag minor release/production/v3.1.9)
|
173
|
+
test $output = "3.2.9"
|
174
|
+
}
|
175
|
+
|
176
|
+
it_uses_get_next_version_number_from_tag_to_succeed_incrementing_each_type() {
|
177
|
+
local output=$(get_next_version_number_from_tag major release/production/v3.1.9)
|
178
|
+
test $output = "4.1.9"
|
179
|
+
|
180
|
+
local output=$(get_next_version_number_from_tag minor release/staging/v2.0.3)
|
181
|
+
test $output = "2.1.3"
|
182
|
+
|
183
|
+
local output=$(get_next_version_number_from_tag patch release/v1.0.6)
|
184
|
+
test $output = "1.0.7"
|
185
|
+
}
|
metadata
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: git-release
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Tom Meier
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-05-03 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.3'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.3'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rake
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: Changelog and release tag generator from GIT
|
47
|
+
email:
|
48
|
+
- tom@venombytes.com
|
49
|
+
executables:
|
50
|
+
- git-release
|
51
|
+
- git-release-deployed
|
52
|
+
extensions: []
|
53
|
+
extra_rdoc_files: []
|
54
|
+
files:
|
55
|
+
- .gitignore
|
56
|
+
- .travis.yml
|
57
|
+
- Gemfile
|
58
|
+
- LICENSE.txt
|
59
|
+
- README.md
|
60
|
+
- Rakefile
|
61
|
+
- bin/git-release
|
62
|
+
- bin/git-release-deployed
|
63
|
+
- git-release.gemspec
|
64
|
+
- lib/git-release.rb
|
65
|
+
- lib/git_release/version.rb
|
66
|
+
- support/changelog-functions.sh
|
67
|
+
- support/git-functions.sh
|
68
|
+
- support/git-release-functions.sh
|
69
|
+
- support/language-bash.sh
|
70
|
+
- support/support-functions.sh
|
71
|
+
- test/bin/run_all
|
72
|
+
- test/integration/releaseable-deployed-test.sh
|
73
|
+
- test/integration/releaseable-test.sh
|
74
|
+
- test/support/roundup
|
75
|
+
- test/test_helper.sh
|
76
|
+
- test/unit/changelog-functions-test.sh
|
77
|
+
- test/unit/git-functions-test.sh
|
78
|
+
- test/unit/releaseable-test.sh
|
79
|
+
homepage: http://github.com/tommeier/git-release
|
80
|
+
licenses:
|
81
|
+
- MIT
|
82
|
+
post_install_message:
|
83
|
+
rdoc_options: []
|
84
|
+
require_paths:
|
85
|
+
- lib
|
86
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - ! '>='
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
requirements: []
|
99
|
+
rubyforge_project:
|
100
|
+
rubygems_version: 1.8.23
|
101
|
+
signing_key:
|
102
|
+
specification_version: 3
|
103
|
+
summary: Generate changelog from git commits and tag your release versions
|
104
|
+
test_files:
|
105
|
+
- test/bin/run_all
|
106
|
+
- test/integration/releaseable-deployed-test.sh
|
107
|
+
- test/integration/releaseable-test.sh
|
108
|
+
- test/support/roundup
|
109
|
+
- test/test_helper.sh
|
110
|
+
- test/unit/changelog-functions-test.sh
|
111
|
+
- test/unit/git-functions-test.sh
|
112
|
+
- test/unit/releaseable-test.sh
|