qb 0.3.20 → 0.3.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/qb/version.rb +1 -1
- data/roles/nrser.rb/library/vars.rb.rb +11 -2
- data/roles/qb/ruby/gem/release/scripts/gem_and_version_info.rb +78 -0
- data/roles/qb/ruby/gem/release/tasks/_set_version.yml +43 -0
- data/roles/qb/ruby/gem/release/tasks/main.yml +28 -118
- data/roles/qb/{rspex → ruby/nrser/rspex}/generate/defaults/main.yml +1 -1
- data/roles/qb/{rspex → ruby/nrser/rspex}/generate/meta/main.yml +1 -1
- data/roles/qb/{rspex → ruby/nrser/rspex}/generate/meta/qb.yml +1 -1
- data/roles/qb/{rspex → ruby/nrser/rspex}/generate/tasks/class.yml +0 -0
- data/roles/qb/{rspex → ruby/nrser/rspex}/generate/tasks/helpers.yml +0 -0
- data/roles/qb/{rspex → ruby/nrser/rspex}/generate/tasks/main.yml +1 -1
- data/roles/qb/{rspex → ruby/nrser/rspex}/generate/templates/class_spec.rb.j2 +0 -0
- data/roles/qb/ruby/nrser/rspex/issue/defaults/main.yml +2 -0
- data/roles/qb/{rspex → ruby/nrser/rspex}/issue/meta/main.yml +1 -1
- data/roles/qb/{rspex → ruby/nrser/rspex}/issue/meta/qb.yml +1 -1
- data/roles/qb/{rspex → ruby/nrser/rspex}/issue/tasks/main.yml +1 -1
- metadata +14 -12
- data/roles/qb/rspex/issue/defaults/main.yml +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92359f70296e31a7e883ac575c8164ce444c8cab
|
4
|
+
data.tar.gz: 8070f79142d4c489a6a7961f0d20e37d88a8ceba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3560b2479fcaeccd06404b3a39fab67c3d14e68c3426e5fa94beab60ba721ff4f62a93feb66f2f64ddf712c56902a64e96144687db3f525dc3ef7aaf89a2c9c6
|
7
|
+
data.tar.gz: 81aa54dc74f784127245c3c895bdafdb2874f76f5c4f5a96e351a95acc501e08c75a88bc7d1e30a44acef9d3257f220a41b9bedb0a189e98f4d63063dfd909c5
|
data/lib/qb/version.rb
CHANGED
@@ -37,7 +37,16 @@ def main
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
|
40
|
+
if args['src'] && args['file']
|
41
|
+
raise "Don't provide both src and file!"
|
42
|
+
end
|
43
|
+
|
44
|
+
if !args['src'] && !args['file']
|
45
|
+
raise "Must provide one of src or file!"
|
46
|
+
end
|
47
|
+
|
48
|
+
src = args['src'] || File.read( args['file'] )
|
49
|
+
result = b.eval src
|
41
50
|
|
42
51
|
if result.is_a? Hash
|
43
52
|
result = namespace(args['namespace'], result) if args['namespace']
|
@@ -79,4 +88,4 @@ def main
|
|
79
88
|
end
|
80
89
|
end
|
81
90
|
|
82
|
-
main if __FILE__ == $0
|
91
|
+
main if __FILE__ == $0
|
@@ -0,0 +1,78 @@
|
|
1
|
+
|
2
|
+
# 1. Find the gemspec path
|
3
|
+
|
4
|
+
spec_pattern = "#{ gem_root }/*.gemspec"
|
5
|
+
spec_path = Dir.glob(spec_pattern)[0]
|
6
|
+
|
7
|
+
if spec_path.nil?
|
8
|
+
raise "No gemspec found for pattern #{ spec_pattern }"
|
9
|
+
end
|
10
|
+
|
11
|
+
|
12
|
+
# 2. Get the gem name and version
|
13
|
+
#
|
14
|
+
# The gem *may already be loaded*, which would break the standard gemspec
|
15
|
+
# approach because the `require` will be a no-op, resulting in the
|
16
|
+
# already loaded version number being used instead of the one in the
|
17
|
+
# file.
|
18
|
+
#
|
19
|
+
# This is only a problem for NRSER, which is loaded in vars.rb.rb, but
|
20
|
+
# this fix should work for any module without worrying about what is
|
21
|
+
# currently loaded... grab the info we need in a clean child process.
|
22
|
+
#
|
23
|
+
code = <<-END
|
24
|
+
require 'json'
|
25
|
+
spec = Gem::Specification.load(#{ JSON.dump spec_path })
|
26
|
+
puts JSON.dump({
|
27
|
+
'version' => spec.version.version,
|
28
|
+
'name' => spec.name,
|
29
|
+
})
|
30
|
+
END
|
31
|
+
|
32
|
+
obj = JSON.load `ruby -e #{ code.shellescape }`
|
33
|
+
version = Gem::Version.new obj['version']
|
34
|
+
name = obj['name']
|
35
|
+
|
36
|
+
|
37
|
+
# 3. Figure out what the next version will be
|
38
|
+
|
39
|
+
segments = version.segments.dup
|
40
|
+
segments.pop while segments.any? {|s| s.is_a? String}
|
41
|
+
|
42
|
+
segments[-1] = segments[-1].succ
|
43
|
+
segments << 'dev'
|
44
|
+
|
45
|
+
next_version = segments.join('.')
|
46
|
+
|
47
|
+
|
48
|
+
# 4. Figure out what file the version definition lives in
|
49
|
+
|
50
|
+
version_path = if version_file.nil?
|
51
|
+
bare_path = File.join( gem_root, 'VERSION' )
|
52
|
+
|
53
|
+
if File.file?( bare_path )
|
54
|
+
bare_path
|
55
|
+
else
|
56
|
+
# quick hack to deal with `a-b => a/b` gem names
|
57
|
+
name_path = name.gsub '-', '/'
|
58
|
+
|
59
|
+
File.join gem_root, 'lib', name_path, 'version.rb'
|
60
|
+
end
|
61
|
+
else
|
62
|
+
File.expand_path version_file, cwd
|
63
|
+
end
|
64
|
+
|
65
|
+
unless File.file?( version_path )
|
66
|
+
raise "Version file not found at #{ version_path }"
|
67
|
+
end
|
68
|
+
|
69
|
+
# 5. Return the facts
|
70
|
+
|
71
|
+
{
|
72
|
+
'name' => name,
|
73
|
+
'current_version' => version.version,
|
74
|
+
'release_version' => version.release,
|
75
|
+
'next_version' => next_version,
|
76
|
+
'version_path' => version_path,
|
77
|
+
'spec_path' => spec_path,
|
78
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Set the gem version in either a `VERSION` constant in a Ruby source file
|
2
|
+
# or as the sole contents of a `<gem_root>/VERSION` file.
|
3
|
+
|
4
|
+
# Handle Ruby file
|
5
|
+
- when: (gem_version_path | basename) != 'VERSION'
|
6
|
+
name: >-
|
7
|
+
Replace version string with '{{ version }}' in `{{ gem_version_path }}`
|
8
|
+
replace:
|
9
|
+
dest: >-
|
10
|
+
{{ gem_version_path }}
|
11
|
+
regexp: >-
|
12
|
+
VERSION\s*=\s*["'][^"']+["']
|
13
|
+
replace: >-
|
14
|
+
VERSION = '{{ version }}'
|
15
|
+
|
16
|
+
|
17
|
+
# Handle VERSION file
|
18
|
+
- when: (gem_version_path | basename) == 'VERSION'
|
19
|
+
name: >-
|
20
|
+
Overwrite VERSION file at `{{ gem_version_path }}` with '{{ version }}'
|
21
|
+
copy:
|
22
|
+
dest: >-
|
23
|
+
{{ gem_version_path }}
|
24
|
+
content: >-
|
25
|
+
{{ version }}
|
26
|
+
|
27
|
+
|
28
|
+
- name: >-
|
29
|
+
Add version file `{{ gem_version_path }}` to Git
|
30
|
+
command: >-
|
31
|
+
git add {{ gem_version_path | quote }}
|
32
|
+
args:
|
33
|
+
chdir: >-
|
34
|
+
{{ gem_root }}
|
35
|
+
|
36
|
+
|
37
|
+
- name: >-
|
38
|
+
Commit version file `{{ gem_version_path }}` in Git
|
39
|
+
command: >-
|
40
|
+
git commit -m {{ commit_message | quote }}
|
41
|
+
args:
|
42
|
+
chdir: >-
|
43
|
+
{{ gem_root }}
|
@@ -63,64 +63,15 @@
|
|
63
63
|
gem_root: "{{ gem_root }}"
|
64
64
|
version_file: "{{ gem_version_file }}"
|
65
65
|
cwd: "{{ qb_cwd }}"
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
# approach because the `require` will be a no-op, resulting in the
|
76
|
-
# already loaded version number being used instead of the one in the
|
77
|
-
# file.
|
78
|
-
#
|
79
|
-
# This is only a problem for NRSER, which is loaded in vars.rb.rb, but
|
80
|
-
# this fix should work for any module without worrying about what is
|
81
|
-
# currently loaded... grab the info we need in a clean child process.
|
82
|
-
#
|
83
|
-
code = <<-END
|
84
|
-
require 'json'
|
85
|
-
spec = Gem::Specification.load(#{ JSON.dump spec_path })
|
86
|
-
puts JSON.dump({
|
87
|
-
'version' => spec.version.version,
|
88
|
-
'name' => spec.name,
|
89
|
-
})
|
90
|
-
END
|
91
|
-
obj = JSON.load `ruby -e #{ code.shellescape }`
|
92
|
-
version = Gem::Version.new obj['version']
|
93
|
-
name = obj['name']
|
94
|
-
|
95
|
-
segments = version.segments.dup
|
96
|
-
segments.pop while segments.any? {|s| s.is_a? String}
|
97
|
-
|
98
|
-
segments[-1] = segments[-1].succ
|
99
|
-
segments << 'dev'
|
100
|
-
|
101
|
-
next_version = segments.join('.')
|
102
|
-
|
103
|
-
version_path = if version_file.nil?
|
104
|
-
# quick hack to deal with `a-b => a/b` gem names
|
105
|
-
name_path = name.gsub '-', '/'
|
106
|
-
|
107
|
-
File.join gem_root, 'lib', name_path, 'version.rb'
|
108
|
-
else
|
109
|
-
File.expand_path version_file, cwd
|
110
|
-
end
|
111
|
-
|
112
|
-
unless File.file?( version_path )
|
113
|
-
raise "Version file not found at #{ version_path }"
|
114
|
-
end
|
115
|
-
|
116
|
-
{
|
117
|
-
'name' => name,
|
118
|
-
'current_version' => version.version,
|
119
|
-
'release_version' => version.release,
|
120
|
-
'next_version' => next_version,
|
121
|
-
'version_path' => version_path,
|
122
|
-
'spec_path' => spec_path,
|
123
|
-
}
|
66
|
+
file: >-
|
67
|
+
{{ role_path }}/scripts/gem_and_version_info.rb
|
68
|
+
provides:
|
69
|
+
gem_name: non_empty_str
|
70
|
+
gem_current_version: non_empty_str
|
71
|
+
gem_release_version: non_empty_str
|
72
|
+
gem_next_version: non_empty_str
|
73
|
+
gem_version_path: abs_path
|
74
|
+
gem_spec_path: abs_path
|
124
75
|
|
125
76
|
|
126
77
|
- debug:
|
@@ -131,46 +82,23 @@
|
|
131
82
|
{{ gem_release_version }}
|
132
83
|
- next: >-
|
133
84
|
{{ gem_next_version }}
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
85
|
+
- spec_path: >-
|
86
|
+
{{ gem_spec_path }}
|
87
|
+
- version_path: >-
|
88
|
+
{{ gem_version_path }}
|
138
89
|
|
139
90
|
|
140
91
|
- when: gem_current_version != gem_release_version
|
141
92
|
name: >-
|
142
93
|
Change version in `{{ gem_version_path }}` from current
|
143
|
-
`{{ gem_current_version }}` to `{{ gem_release_version }}`.
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
VERSION\s*=\s*["']{{ gem_current_version }}["']
|
152
|
-
replace: >-
|
153
|
-
VERSION = "{{ gem_release_version }}"
|
154
|
-
|
155
|
-
|
156
|
-
- when: gem_current_version != gem_release_version
|
157
|
-
name: >-
|
158
|
-
Add version file `{{ gem_version_path }}` to Git.
|
159
|
-
command: >-
|
160
|
-
git add {{ gem_version_path }}
|
161
|
-
args:
|
162
|
-
chdir: >-
|
163
|
-
{{ gem_root }}
|
164
|
-
|
165
|
-
|
166
|
-
- name: >-
|
167
|
-
Commit version file `{{ gem_version_path }}` in Git.
|
168
|
-
command: git commit -m "bump to v{{ gem_release_version }}"
|
169
|
-
args:
|
170
|
-
chdir: >-
|
171
|
-
{{ gem_root }}
|
172
|
-
when: gem_current_version != gem_release_version
|
173
|
-
# /block
|
94
|
+
`{{ gem_current_version }}` to release `{{ gem_release_version }}`.
|
95
|
+
include_tasks: >-
|
96
|
+
{{ role_path }}/tasks/_set_version.yml
|
97
|
+
vars:
|
98
|
+
version: >-
|
99
|
+
{{ gem_release_version }}
|
100
|
+
commit_message: >-
|
101
|
+
bump to v{{ gem_release_version }}
|
174
102
|
|
175
103
|
|
176
104
|
- name: >-
|
@@ -181,31 +109,13 @@
|
|
181
109
|
|
182
110
|
- name: >-
|
183
111
|
Change version to next version `{{ gem_next_version }}`.
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
- name: >-
|
194
|
-
Add next dev version to git.
|
195
|
-
command: >-
|
196
|
-
git add {{ gem_version_path }}
|
197
|
-
args:
|
198
|
-
chdir: >-
|
199
|
-
{{ gem_root }}
|
200
|
-
|
201
|
-
|
202
|
-
- name: >-
|
203
|
-
Commit next dev version.
|
204
|
-
command: >-
|
205
|
-
git commit -m "start {{ gem_next_version }}"
|
206
|
-
args:
|
207
|
-
chdir: >-
|
208
|
-
{{ gem_root }}
|
112
|
+
include_tasks: >-
|
113
|
+
{{ role_path }}/tasks/_set_version.yml
|
114
|
+
vars:
|
115
|
+
version: >-
|
116
|
+
{{ gem_next_version }}
|
117
|
+
commit_message: >-
|
118
|
+
start {{ gem_next_version }}
|
209
119
|
|
210
120
|
|
211
121
|
- name: >-
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.21
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nrser
|
@@ -696,17 +696,6 @@ files:
|
|
696
696
|
- roles/qb/role/templates/tasks/main.yml.j2
|
697
697
|
- roles/qb/role/templates/vars/main.yml.j2
|
698
698
|
- roles/qb/role/vars/main.yml
|
699
|
-
- roles/qb/rspex/generate/defaults/main.yml
|
700
|
-
- roles/qb/rspex/generate/meta/main.yml
|
701
|
-
- roles/qb/rspex/generate/meta/qb.yml
|
702
|
-
- roles/qb/rspex/generate/tasks/class.yml
|
703
|
-
- roles/qb/rspex/generate/tasks/helpers.yml
|
704
|
-
- roles/qb/rspex/generate/tasks/main.yml
|
705
|
-
- roles/qb/rspex/generate/templates/class_spec.rb.j2
|
706
|
-
- roles/qb/rspex/issue/defaults/main.yml
|
707
|
-
- roles/qb/rspex/issue/meta/main.yml
|
708
|
-
- roles/qb/rspex/issue/meta/qb.yml
|
709
|
-
- roles/qb/rspex/issue/tasks/main.yml
|
710
699
|
- roles/qb/ruby/bundler/.qb-options.yml
|
711
700
|
- roles/qb/ruby/bundler/defaults/main.yml
|
712
701
|
- roles/qb/ruby/bundler/filter_plugins/bundler_filters.py
|
@@ -747,6 +736,8 @@ files:
|
|
747
736
|
- roles/qb/ruby/gem/release/defaults/main.yml
|
748
737
|
- roles/qb/ruby/gem/release/meta/main.yml
|
749
738
|
- roles/qb/ruby/gem/release/meta/qb.yml
|
739
|
+
- roles/qb/ruby/gem/release/scripts/gem_and_version_info.rb
|
740
|
+
- roles/qb/ruby/gem/release/tasks/_set_version.yml
|
750
741
|
- roles/qb/ruby/gem/release/tasks/main.yml
|
751
742
|
- roles/qb/ruby/gem/release/tasks/release.yml
|
752
743
|
- roles/qb/ruby/gem/unhack/README.md
|
@@ -754,6 +745,17 @@ files:
|
|
754
745
|
- roles/qb/ruby/gem/unhack/meta/main.yml
|
755
746
|
- roles/qb/ruby/gem/unhack/meta/qb.yml
|
756
747
|
- roles/qb/ruby/gem/unhack/tasks/main.yml
|
748
|
+
- roles/qb/ruby/nrser/rspex/generate/defaults/main.yml
|
749
|
+
- roles/qb/ruby/nrser/rspex/generate/meta/main.yml
|
750
|
+
- roles/qb/ruby/nrser/rspex/generate/meta/qb.yml
|
751
|
+
- roles/qb/ruby/nrser/rspex/generate/tasks/class.yml
|
752
|
+
- roles/qb/ruby/nrser/rspex/generate/tasks/helpers.yml
|
753
|
+
- roles/qb/ruby/nrser/rspex/generate/tasks/main.yml
|
754
|
+
- roles/qb/ruby/nrser/rspex/generate/templates/class_spec.rb.j2
|
755
|
+
- roles/qb/ruby/nrser/rspex/issue/defaults/main.yml
|
756
|
+
- roles/qb/ruby/nrser/rspex/issue/meta/main.yml
|
757
|
+
- roles/qb/ruby/nrser/rspex/issue/meta/qb.yml
|
758
|
+
- roles/qb/ruby/nrser/rspex/issue/tasks/main.yml
|
757
759
|
- roles/qb/ruby/rspec/setup/defaults/main.yml
|
758
760
|
- roles/qb/ruby/rspec/setup/meta/main.yml
|
759
761
|
- roles/qb/ruby/rspec/setup/meta/qb.yml
|