qb 0.3.20 → 0.3.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|