qb 0.1.53 → 0.1.54
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/exe/qb +19 -20
- data/lib/qb/options.rb +38 -4
- data/lib/qb/options/option.rb +22 -2
- data/lib/qb/role.rb +54 -28
- data/lib/qb/util.rb +25 -0
- data/lib/qb/version.rb +1 -1
- data/library/qb_facts.py +1 -0
- data/plugins/filter_plugins/version.py +28 -2
- data/qb.gemspec +2 -1
- data/roles/qb.gitignore/files/gitignore/C.gitignore +1 -0
- data/roles/qb.gitignore/files/gitignore/Dart.gitignore +3 -24
- data/roles/qb.gitignore/files/gitignore/Global/Eclipse.gitignore +0 -6
- data/roles/qb.gitignore/files/gitignore/Global/JetBrains.gitignore +3 -0
- data/roles/qb.gitignore/files/gitignore/Global/macOS.gitignore +25 -26
- data/roles/qb.gitignore/files/gitignore/Python.gitignore +3 -0
- data/roles/qb.gitignore/files/gitignore/Qb.gitignore +3 -0
- data/roles/qb.gitignore/files/gitignore/Rails.gitignore +1 -1
- data/roles/qb.gitignore/files/gitignore/Symfony.gitignore +0 -4
- data/roles/qb.gitignore/files/gitignore/TeX.gitignore +3 -0
- data/roles/qb.gitignore/files/gitignore/Unity.gitignore +0 -1
- data/roles/qb.gitignore/files/gitignore/VisualStudio.gitignore +8 -1
- data/roles/qb.qb_role/meta/qb.yml +6 -0
- data/roles/qb.qb_role/tasks/module.yml +5 -0
- data/roles/qb.qb_role/templates/qb.yml.j2 +2 -2
- data/roles/qb.role/templates/README.md.j2 +10 -2
- data/roles/qb.yarn/tasks/{distro → distribution}/MacOSX.yml +0 -0
- data/roles/qb.yarn/tasks/main.yml +1 -1
- metadata +25 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b750783c213e2d82f770659b4e6fe1212f4f76c
|
4
|
+
data.tar.gz: 88cafa2c28be8b6591e4a143dbb1bcbeada113a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3342398ad96337ebfe5a2322aa89ad7b08a042b49d11ec5d12ed37df2bbe3564f9421d72e6dda4d8dfdf77323d9a6d755946a65f911de1b5d0f404f93ec58af9
|
7
|
+
data.tar.gz: 11f0441877e9366c1da35b0fb6d569f55b8b02ebd0f1ac6b642ab263e89747f55d53ee0e6d5c29e751024c89dd3da3e25e1244cce11d624e20c17e685fac31b9
|
data/exe/qb
CHANGED
@@ -278,7 +278,8 @@ def main args
|
|
278
278
|
QB::Role.search_path,
|
279
279
|
].
|
280
280
|
flatten. # since QB::Role.search_path is an Array
|
281
|
-
|
281
|
+
select(&:directory?).
|
282
|
+
map(&:realpath). # so uniq works
|
282
283
|
uniq, # drop dups (seems to keep first instance so preserves priority)
|
283
284
|
|
284
285
|
ANSIBLE_LIBRARY: [
|
@@ -320,7 +321,7 @@ def main args
|
|
320
321
|
<%= playbook_path %>
|
321
322
|
END
|
322
323
|
|
323
|
-
cmd = Cmds
|
324
|
+
cmd = Cmds.new cmd_template, {
|
324
325
|
env: env.map {|k, v| [k, v.is_a?(Array) ? v.join(':') : v]}.to_h,
|
325
326
|
|
326
327
|
kwds: {
|
@@ -392,25 +393,23 @@ def main args
|
|
392
393
|
end
|
393
394
|
end
|
394
395
|
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
QB::Util::STDIO::Service.new(name, dest).tap {|s| s.open! }
|
401
|
-
end
|
402
|
-
|
403
|
-
status = cmd.stream
|
404
|
-
|
405
|
-
# close the stdio services
|
406
|
-
stdio_services.each {|s| s.close! }
|
407
|
-
|
408
|
-
if status != 0
|
409
|
-
puts "ERROR ansible-playbook failed."
|
410
|
-
end
|
411
|
-
|
412
|
-
exit status
|
396
|
+
with_clean_env do
|
397
|
+
# boot up stdio services so that ansible modules can stream to our
|
398
|
+
# stdout and stderr to print stuff (including debug lines) in real-time
|
399
|
+
stdio_services = {'out' => $stdout, 'err' => $stderr}.map do |name, dest|
|
400
|
+
QB::Util::STDIO::Service.new(name, dest).tap {|s| s.open! }
|
413
401
|
end
|
402
|
+
|
403
|
+
status = cmd.stream
|
404
|
+
|
405
|
+
# close the stdio services
|
406
|
+
stdio_services.each {|s| s.close! }
|
407
|
+
|
408
|
+
if status != 0
|
409
|
+
puts "ERROR ansible-playbook failed."
|
410
|
+
end
|
411
|
+
|
412
|
+
exit status
|
414
413
|
end
|
415
414
|
end
|
416
415
|
|
data/lib/qb/options.rb
CHANGED
@@ -16,6 +16,14 @@ module QB
|
|
16
16
|
'run' => true,
|
17
17
|
}
|
18
18
|
|
19
|
+
# appended on the end of an `opts.on` call to create a newline after
|
20
|
+
# the option (making the help output a bit easier to read)
|
21
|
+
#
|
22
|
+
# you might think the empty string would be reasonable, but OptionParser
|
23
|
+
# blows up if you do that.
|
24
|
+
#
|
25
|
+
SPACER = ' '
|
26
|
+
|
19
27
|
# attributes
|
20
28
|
# =======================================================================
|
21
29
|
|
@@ -179,6 +187,24 @@ module QB
|
|
179
187
|
end
|
180
188
|
end
|
181
189
|
|
190
|
+
if option.has_examples?
|
191
|
+
on_args << 'examples:'
|
192
|
+
|
193
|
+
option.examples.each_with_index {|example, index|
|
194
|
+
lines = example.lines.to_a
|
195
|
+
|
196
|
+
pp lines
|
197
|
+
|
198
|
+
on_args << ((index + 1).to_s + '.').ljust(4) + lines.first.chomp
|
199
|
+
|
200
|
+
lines[1..-1].each {|line|
|
201
|
+
on_args << (" ".ljust(4) + line.chomp)
|
202
|
+
}
|
203
|
+
}
|
204
|
+
end
|
205
|
+
|
206
|
+
on_args << SPACER
|
207
|
+
|
182
208
|
QB.debug "adding option", option: option, on_args: on_args
|
183
209
|
|
184
210
|
opts.on(*on_args) do |value|
|
@@ -255,7 +281,8 @@ module QB
|
|
255
281
|
'--HOSTS=HOSTS',
|
256
282
|
Array,
|
257
283
|
"set playbook host",
|
258
|
-
"DEFAULT: localhost"
|
284
|
+
"DEFAULT: localhost",
|
285
|
+
SPACER
|
259
286
|
) do |value|
|
260
287
|
@qb['hosts'] = value
|
261
288
|
end
|
@@ -265,6 +292,7 @@ module QB
|
|
265
292
|
'--INVENTORY=FILEPATH',
|
266
293
|
String,
|
267
294
|
"set inventory file",
|
295
|
+
SPACER
|
268
296
|
) do |value|
|
269
297
|
@qb['inventory'] = value
|
270
298
|
end
|
@@ -273,7 +301,8 @@ module QB
|
|
273
301
|
'-U',
|
274
302
|
'--USER=USER',
|
275
303
|
String,
|
276
|
-
"ansible become user for the playbook"
|
304
|
+
"ansible become user for the playbook",
|
305
|
+
SPACER
|
277
306
|
) do |value|
|
278
307
|
@qb['user'] = value
|
279
308
|
end
|
@@ -283,13 +312,15 @@ module QB
|
|
283
312
|
'--TAGS=TAGS',
|
284
313
|
Array,
|
285
314
|
"playbook tags",
|
315
|
+
SPACER
|
286
316
|
) do |value|
|
287
317
|
@qb['tags'] = value
|
288
318
|
end
|
289
319
|
|
290
320
|
opts.on(
|
291
321
|
'-V[LEVEL]',
|
292
|
-
"run playbook in verbose mode. use like -VVV or -V3."
|
322
|
+
"run playbook in verbose mode. use like -VVV or -V3.",
|
323
|
+
SPACER
|
293
324
|
) do |value|
|
294
325
|
# QB.debug "verbose", value: value
|
295
326
|
|
@@ -312,6 +343,7 @@ module QB
|
|
312
343
|
opts.on(
|
313
344
|
'--NO-FACTS',
|
314
345
|
"don't gather facts",
|
346
|
+
SPACER
|
315
347
|
) do |value|
|
316
348
|
@qb['facts'] = false
|
317
349
|
end
|
@@ -319,7 +351,8 @@ module QB
|
|
319
351
|
opts.on(
|
320
352
|
'--PRINT=FLAGS',
|
321
353
|
Array,
|
322
|
-
"set what to print before running."
|
354
|
+
"set what to print before running.",
|
355
|
+
SPACER
|
323
356
|
) do |value|
|
324
357
|
@qb['print'] = value
|
325
358
|
end
|
@@ -327,6 +360,7 @@ module QB
|
|
327
360
|
opts.on(
|
328
361
|
'--NO-RUN',
|
329
362
|
"don't run the playbook (useful to just print stuff)",
|
363
|
+
SPACER
|
330
364
|
) do |value|
|
331
365
|
@qb['run'] = false
|
332
366
|
end
|
data/lib/qb/options/option.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module QB
|
2
2
|
class Options
|
3
3
|
class Option
|
4
|
-
|
4
|
+
EXAMPLES_KEYS = ['examples', 'example']
|
5
5
|
|
6
6
|
# the role that this option is for
|
7
7
|
# attr_reader :role
|
@@ -60,9 +60,10 @@ module QB
|
|
60
60
|
def description
|
61
61
|
value = meta_or 'description',
|
62
62
|
"set the #{ @var_name } role variable"
|
63
|
+
|
64
|
+
line_break = "\n" + "\t" * 5
|
63
65
|
|
64
66
|
if @meta['type'].is_a?(Hash) && @meta['type'].key?('one_of')
|
65
|
-
line_break = "\n" + "\t" * 5
|
66
67
|
value += " options:" +
|
67
68
|
"#{ line_break }#{ @meta['type']['one_of'].join(line_break) }"
|
68
69
|
end
|
@@ -85,6 +86,25 @@ module QB
|
|
85
86
|
end
|
86
87
|
end
|
87
88
|
|
89
|
+
# test if the option has any examples.
|
90
|
+
#
|
91
|
+
# @return [Boolean]
|
92
|
+
#
|
93
|
+
def has_examples?
|
94
|
+
EXAMPLES_KEYS.any? {|key| meta.key? key}
|
95
|
+
end
|
96
|
+
|
97
|
+
# get an array of examples for the option. returns `[]` if no examples
|
98
|
+
# are defined.
|
99
|
+
#
|
100
|
+
# @return [Array<String>]
|
101
|
+
#
|
102
|
+
def examples
|
103
|
+
value = meta_or EXAMPLES_KEYS, []
|
104
|
+
|
105
|
+
if value.is_a? String then [value] else value end
|
106
|
+
end
|
107
|
+
|
88
108
|
private
|
89
109
|
|
90
110
|
# get the value at the first found of the keys or the default.
|
data/lib/qb/role.rb
CHANGED
@@ -23,10 +23,14 @@ module QB
|
|
23
23
|
# the role's ansible "name", which is it's directory name.
|
24
24
|
attr_reader :name
|
25
25
|
|
26
|
-
# @!attribute [r]
|
26
|
+
# @!attribute [r] display_path
|
27
|
+
#
|
28
|
+
# the path to the role that we display. we only show the directory name
|
29
|
+
# for QB roles, and use {QB::Util.compact_path} to show `.` and `~` for
|
30
|
+
# paths relative to the current directory and home directory, respectively.
|
31
|
+
#
|
27
32
|
# @return [Pathname]
|
28
|
-
|
29
|
-
attr_reader :rel_path
|
33
|
+
attr_reader :display_path
|
30
34
|
|
31
35
|
# @!attribute [r] meta_path
|
32
36
|
# @return [String, nil]
|
@@ -98,7 +102,7 @@ module QB
|
|
98
102
|
def self.roles_paths dir
|
99
103
|
cfg_roles_path(dir) + [
|
100
104
|
dir.join('roles'),
|
101
|
-
dir.join('roles', 'tmp')
|
105
|
+
dir.join('roles', 'tmp'),
|
102
106
|
]
|
103
107
|
end
|
104
108
|
|
@@ -127,7 +131,8 @@ module QB
|
|
127
131
|
# in source control.
|
128
132
|
# 3.
|
129
133
|
#
|
130
|
-
# @return [Array<Pathname>]
|
134
|
+
# @return [Array<Pathname>]
|
135
|
+
# places to look for role dirs.
|
131
136
|
#
|
132
137
|
def self.search_path
|
133
138
|
[
|
@@ -139,7 +144,8 @@ module QB
|
|
139
144
|
QB::Util.resolve('dev'),
|
140
145
|
].map {|dir|
|
141
146
|
roles_paths dir
|
142
|
-
}.
|
147
|
+
}.
|
148
|
+
flatten
|
143
149
|
end
|
144
150
|
|
145
151
|
# array of QB::Role found in search path.
|
@@ -154,14 +160,10 @@ module QB
|
|
154
160
|
search_dir.children.select {|child| role_dir? child }
|
155
161
|
}.
|
156
162
|
flatten.
|
157
|
-
# should allow uniq to remove dups
|
158
|
-
map {|role_dir| role_dir.realpath }.
|
159
|
-
# needed when qb is run from the qb repo since QB::GEM_ROLES_DIR and
|
160
|
-
# ./roles are the same dir
|
161
|
-
uniq.
|
162
163
|
map {|role_dir|
|
163
164
|
QB::Role.new role_dir
|
164
|
-
}
|
165
|
+
}.
|
166
|
+
uniq
|
165
167
|
end
|
166
168
|
|
167
169
|
# get an array of QB::Role that match an input string
|
@@ -171,7 +173,7 @@ module QB
|
|
171
173
|
|
172
174
|
# first off, see if input matches any relative paths exactly
|
173
175
|
available.each {|role|
|
174
|
-
return [role] if role.
|
176
|
+
return [role] if role.display_path.to_s == input
|
175
177
|
}
|
176
178
|
|
177
179
|
# create an array of "separator" variations to try *exact* matching
|
@@ -221,7 +223,7 @@ module QB
|
|
221
223
|
|
222
224
|
# see if we word match any relative paths
|
223
225
|
name_word_matches = available.select {|role|
|
224
|
-
QB::Util.words_start_with? role.
|
226
|
+
QB::Util.words_start_with? role.display_path.to_s, input
|
225
227
|
}
|
226
228
|
return name_word_matches unless name_word_matches.empty?
|
227
229
|
|
@@ -283,7 +285,23 @@ module QB
|
|
283
285
|
end
|
284
286
|
else
|
285
287
|
current_include_path + [role.namespaceless]
|
286
|
-
end
|
288
|
+
end
|
289
|
+
end
|
290
|
+
|
291
|
+
# the path we display in the CLI, see {#display_path}.
|
292
|
+
#
|
293
|
+
# @param [Pathname | String] path
|
294
|
+
# input path to transform.
|
295
|
+
#
|
296
|
+
# @return [Pathname]
|
297
|
+
# path to display.
|
298
|
+
#
|
299
|
+
def self.to_display_path path
|
300
|
+
if path.realpath.start_with? QB::GEM_ROLES_DIR
|
301
|
+
path.realpath.sub (QB::GEM_ROLES_DIR.to_s + '/'), ''
|
302
|
+
else
|
303
|
+
QB::Util.contract_path path
|
304
|
+
end
|
287
305
|
end
|
288
306
|
|
289
307
|
# instance methods
|
@@ -305,6 +323,8 @@ module QB
|
|
305
323
|
raise Errno::ENOTDIR.new @path.to_s
|
306
324
|
end
|
307
325
|
|
326
|
+
@display_path = self.class.to_display_path @path
|
327
|
+
|
308
328
|
@meta_path = if (@path + 'meta' + 'qb').exist?
|
309
329
|
@path + 'meta' + 'qb'
|
310
330
|
elsif (@path + 'meta' + 'qb.yml').exist?
|
@@ -313,19 +333,11 @@ module QB
|
|
313
333
|
raise Errno::ENOENT.new "#{ @path.join('meta').to_s }/[qb|qb.yml]"
|
314
334
|
end
|
315
335
|
|
316
|
-
@rel_path = if @path.to_s.start_with? QB::GEM_ROLES_DIR.to_s
|
317
|
-
@path.sub(QB::GEM_ROLES_DIR.to_s + '/', '')
|
318
|
-
elsif @path.to_s.start_with? Dir.getwd
|
319
|
-
@path.sub(Dir.getwd + '/', './')
|
320
|
-
else
|
321
|
-
@path
|
322
|
-
end
|
323
|
-
|
324
336
|
@name = @path.to_s.split(File::SEPARATOR).last
|
325
337
|
end
|
326
338
|
|
327
339
|
def to_s
|
328
|
-
@
|
340
|
+
@display_path.to_s
|
329
341
|
end
|
330
342
|
|
331
343
|
def namespace
|
@@ -341,7 +353,7 @@ module QB
|
|
341
353
|
end
|
342
354
|
|
343
355
|
def options_key
|
344
|
-
@
|
356
|
+
@display_path.to_s
|
345
357
|
end
|
346
358
|
|
347
359
|
# load qb metadata from meta/qb.yml or from executing meta/qb and parsing
|
@@ -547,11 +559,11 @@ module QB
|
|
547
559
|
NRSER.git_root cwd
|
548
560
|
|
549
561
|
when 'cwd'
|
550
|
-
debug "returning current working directory"
|
562
|
+
QB.debug "returning current working directory"
|
551
563
|
cwd
|
552
564
|
|
553
565
|
when Hash
|
554
|
-
debug "qb meta option is a Hash"
|
566
|
+
QB.debug "qb meta option is a Hash"
|
555
567
|
|
556
568
|
unless value.length == 1
|
557
569
|
raise "#{ meta_path.to_s }:default_dir invalid: #{ value.inspect }"
|
@@ -590,7 +602,7 @@ module QB
|
|
590
602
|
raise "find_up filename must be string, found #{ filename.inspect }"
|
591
603
|
end
|
592
604
|
|
593
|
-
debug "found 'find_up', looking for file named #{ filename }"
|
605
|
+
QB.debug "found 'find_up', looking for file named #{ filename }"
|
594
606
|
|
595
607
|
QB::Util.find_up filename
|
596
608
|
|
@@ -608,7 +620,21 @@ module QB
|
|
608
620
|
meta_or 'ansible_options', {}
|
609
621
|
end
|
610
622
|
|
623
|
+
# language inter-op
|
624
|
+
# -----------------------------------------------------------------------
|
625
|
+
|
626
|
+
def hash
|
627
|
+
path.realpath.hash
|
628
|
+
end
|
629
|
+
|
630
|
+
def == other
|
631
|
+
other.is_a?(Role) && other.path.realpath == path.realpath
|
632
|
+
end
|
633
|
+
|
634
|
+
alias_method :eql?, :==
|
635
|
+
|
611
636
|
private
|
637
|
+
# -----------------------------------------------------------------------
|
612
638
|
|
613
639
|
# get the value at the first found of the keys or the default.
|
614
640
|
#
|
data/lib/qb/util.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
require 'nrser'
|
2
|
+
|
3
|
+
using NRSER
|
4
|
+
|
1
5
|
module QB
|
2
6
|
module Util
|
3
7
|
# split a string into 'words' for word-based matching
|
@@ -51,6 +55,27 @@ module QB
|
|
51
55
|
raise "resolution failed: #{ segments.inspect }"
|
52
56
|
end
|
53
57
|
|
58
|
+
# do kind of the opposite of File.expand_path -- turn the home dir into ~
|
59
|
+
# and the current dir into .
|
60
|
+
#
|
61
|
+
# @param [Pathname | String]
|
62
|
+
# path to contract.
|
63
|
+
#
|
64
|
+
# @return [Pathname]
|
65
|
+
# contracted path.
|
66
|
+
#
|
67
|
+
def self.contract_path path
|
68
|
+
contracted = if path.start_with? Dir.pwd
|
69
|
+
path.sub Dir.pwd, '.'
|
70
|
+
elsif path.start_with? ENV['HOME']
|
71
|
+
path.sub ENV['HOME'], '~'
|
72
|
+
else
|
73
|
+
path
|
74
|
+
end
|
75
|
+
|
76
|
+
Pathname.new contracted
|
77
|
+
end
|
78
|
+
|
54
79
|
# find `filename` in `from` or closest parent directory.
|
55
80
|
#
|
56
81
|
# @param [String] filename
|
data/lib/qb/version.rb
CHANGED
data/library/qb_facts.py
CHANGED
@@ -59,9 +59,35 @@ def semver_parse(version):
|
|
59
59
|
|
60
60
|
cmd = ['node', '--eval', stmt]
|
61
61
|
|
62
|
-
out = subprocess.check_output(
|
62
|
+
out = subprocess.check_output(
|
63
|
+
cmd,
|
64
|
+
cwd = os.path.realpath(
|
65
|
+
os.path.join(__file__, '..', '..')
|
66
|
+
)
|
67
|
+
)
|
63
68
|
|
64
|
-
|
69
|
+
version = json.loads(out)
|
70
|
+
|
71
|
+
version['is_release'] = len(version['prerelease']) == 0
|
72
|
+
|
73
|
+
version['is_dev'] = (
|
74
|
+
len(version['prerelease']) > 0 and
|
75
|
+
version['prerelease'][0] == 'dev'
|
76
|
+
)
|
77
|
+
|
78
|
+
version['is_rc'] = (
|
79
|
+
len(version['prerelease']) > 0 and
|
80
|
+
version['prerelease'][0] == 'rc'
|
81
|
+
)
|
82
|
+
|
83
|
+
if version['is_release']:
|
84
|
+
version['type'] = 'release'
|
85
|
+
else:
|
86
|
+
version['type'] = version['prerelease'][0]
|
87
|
+
|
88
|
+
version['release'] = "%(major)s.%(minor)s.%(patch)s" % version
|
89
|
+
|
90
|
+
return version
|
65
91
|
|
66
92
|
|
67
93
|
class FilterModule(object):
|
data/qb.gemspec
CHANGED
@@ -93,7 +93,8 @@ Gem::Specification.new do |spec|
|
|
93
93
|
spec.add_development_dependency "rspec"
|
94
94
|
spec.add_development_dependency "yard"
|
95
95
|
|
96
|
-
spec.add_dependency "cmds",'~> 0.0', ">= 0.
|
96
|
+
spec.add_dependency "cmds",'~> 0.0', ">= 0.2.0"
|
97
|
+
spec.add_dependency "nrser",'~> 0.0', ">= 0.0.16"
|
97
98
|
spec.add_dependency "nrser-extras", '~> 0.0', ">= 0.0.3"
|
98
99
|
spec.add_dependency "state_mate", '~> 0.0', ">= 0.0.9"
|
99
100
|
spec.add_dependency 'parseconfig', '~> 1.0', '>= 1.0.8'
|
@@ -1,33 +1,12 @@
|
|
1
1
|
# See https://www.dartlang.org/tools/private-files.html
|
2
2
|
|
3
3
|
# Files and directories created by pub
|
4
|
-
|
5
|
-
# SDK 1.20 and later (no longer creates packages directories)
|
6
4
|
.packages
|
7
5
|
.pub/
|
8
6
|
build/
|
9
|
-
|
10
|
-
|
11
|
-
# (Include if the minimum SDK version specified in pubsepc.yaml is earlier than 1.20)
|
12
|
-
.project
|
13
|
-
.buildlog
|
14
|
-
**/packages/
|
15
|
-
|
16
|
-
|
17
|
-
# Files created by dart2js
|
18
|
-
# (Most Dart developers will use pub build to compile Dart, use/modify these
|
19
|
-
# rules if you intend to use dart2js directly
|
20
|
-
# Convention is to use extension '.dart.js' for Dart compiled to Javascript to
|
21
|
-
# differentiate from explicit Javascript files)
|
22
|
-
*.dart.js
|
23
|
-
*.part.js
|
24
|
-
*.js.deps
|
25
|
-
*.js.map
|
26
|
-
*.info.json
|
7
|
+
# If you're building an application, you may want to check-in your pubspec.lock
|
8
|
+
pubspec.lock
|
27
9
|
|
28
10
|
# Directory created by dartdoc
|
11
|
+
# If you don't generate documentation locally you can remove this line.
|
29
12
|
doc/api/
|
30
|
-
|
31
|
-
# Don't commit pubspec lock file
|
32
|
-
# (Library packages only! Remove pattern if developing an application package)
|
33
|
-
pubspec.lock
|
@@ -11,9 +11,6 @@ local.properties
|
|
11
11
|
.loadpath
|
12
12
|
.recommenders
|
13
13
|
|
14
|
-
# Eclipse Core
|
15
|
-
.project
|
16
|
-
|
17
14
|
# External tool builders
|
18
15
|
.externalToolBuilders/
|
19
16
|
|
@@ -26,9 +23,6 @@ local.properties
|
|
26
23
|
# CDT-specific (C/C++ Development Tooling)
|
27
24
|
.cproject
|
28
25
|
|
29
|
-
# JDT-specific (Eclipse Java Development Tools)
|
30
|
-
.classpath
|
31
|
-
|
32
26
|
# Java annotation processor (APT)
|
33
27
|
.factorypath
|
34
28
|
|
@@ -1,26 +1,25 @@
|
|
1
|
-
*.DS_Store
|
2
|
-
.AppleDouble
|
3
|
-
.LSOverride
|
4
|
-
|
5
|
-
# Icon must end with two \r
|
6
|
-
Icon
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
.
|
14
|
-
.
|
15
|
-
.
|
16
|
-
.
|
17
|
-
.
|
18
|
-
.
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
.
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
.apdisk
|
1
|
+
*.DS_Store
|
2
|
+
.AppleDouble
|
3
|
+
.LSOverride
|
4
|
+
|
5
|
+
# Icon must end with two \r
|
6
|
+
Icon
|
7
|
+
|
8
|
+
# Thumbnails
|
9
|
+
._*
|
10
|
+
|
11
|
+
# Files that might appear in the root of a volume
|
12
|
+
.DocumentRevisions-V100
|
13
|
+
.fseventsd
|
14
|
+
.Spotlight-V100
|
15
|
+
.TemporaryItems
|
16
|
+
.Trashes
|
17
|
+
.VolumeIcon.icns
|
18
|
+
.com.apple.timemachine.donotpresent
|
19
|
+
|
20
|
+
# Directories potentially created on remote AFP share
|
21
|
+
.AppleDB
|
22
|
+
.AppleDesktop
|
23
|
+
Network Trash Folder
|
24
|
+
Temporary Items
|
25
|
+
.apdisk
|
@@ -25,7 +25,6 @@
|
|
25
25
|
/bin/*
|
26
26
|
!bin/console
|
27
27
|
!bin/symfony_requirements
|
28
|
-
/vendor/
|
29
28
|
|
30
29
|
# Assets and user uploads
|
31
30
|
/web/bundles/
|
@@ -38,8 +37,5 @@
|
|
38
37
|
# Build data
|
39
38
|
/build/
|
40
39
|
|
41
|
-
# Composer PHAR
|
42
|
-
/composer.phar
|
43
|
-
|
44
40
|
# Backup entities generated with doctrine:generate:entities command
|
45
41
|
**/Entity/*~
|
@@ -219,6 +219,7 @@ UpgradeLog*.htm
|
|
219
219
|
# SQL Server files
|
220
220
|
*.mdf
|
221
221
|
*.ldf
|
222
|
+
*.ndf
|
222
223
|
|
223
224
|
# Business Intelligence projects
|
224
225
|
*.rdl.data
|
@@ -278,4 +279,10 @@ __pycache__/
|
|
278
279
|
# !tools/packages.config
|
279
280
|
|
280
281
|
# Telerik's JustMock configuration file
|
281
|
-
*.jmconfig
|
282
|
+
*.jmconfig
|
283
|
+
|
284
|
+
# BizTalk build output
|
285
|
+
*.btp.cs
|
286
|
+
*.btm.cs
|
287
|
+
*.odx.cs
|
288
|
+
*.xsd.cs
|
@@ -16,7 +16,13 @@ options:
|
|
16
16
|
create ruby module boilerplate(s) in library using QB::AnsibleModule.
|
17
17
|
type: array
|
18
18
|
required: false
|
19
|
+
# TODO not yet implemented
|
19
20
|
implies: library
|
21
|
+
examples:
|
22
|
+
- |
|
23
|
+
produces library/some_module execuable with a module named SomeModule
|
24
|
+
|
25
|
+
--modules=some_module
|
20
26
|
|
21
27
|
- include: qb.role
|
22
28
|
as: false
|
@@ -2,6 +2,11 @@
|
|
2
2
|
- set_fact:
|
3
3
|
qb_role_module_class: "{{ qb_role_module | class_case }}"
|
4
4
|
qb_role_module_path: "{{ role_dest }}/library/{{ qb_role_module }}"
|
5
|
+
|
6
|
+
- name: create library directory
|
7
|
+
file:
|
8
|
+
dest: "{{ qb_role_module_path | dirname }}"
|
9
|
+
state: directory
|
5
10
|
|
6
11
|
- name: "create {{ qb_role_module }} module"
|
7
12
|
template:
|
@@ -42,8 +42,8 @@ default_user: null
|
|
42
42
|
# set to false to not save options in .qb-options.yml files
|
43
43
|
save_options: true
|
44
44
|
|
45
|
-
#
|
46
|
-
|
45
|
+
# options to pass to ansible-playbook
|
46
|
+
ansible_options: {}
|
47
47
|
|
48
48
|
options: []
|
49
49
|
# - name: example
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.54
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nrser
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -75,7 +75,7 @@ dependencies:
|
|
75
75
|
version: '0.0'
|
76
76
|
- - ">="
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0.
|
78
|
+
version: 0.2.0
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -85,7 +85,27 @@ dependencies:
|
|
85
85
|
version: '0.0'
|
86
86
|
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0.
|
88
|
+
version: 0.2.0
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: nrser
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0.0'
|
96
|
+
- - ">="
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 0.0.16
|
99
|
+
type: :runtime
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0.0'
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 0.0.16
|
89
109
|
- !ruby/object:Gem::Dependency
|
90
110
|
name: nrser-extras
|
91
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -597,7 +617,7 @@ files:
|
|
597
617
|
- roles/qb.yarn/defaults/main.yml
|
598
618
|
- roles/qb.yarn/meta/main.yml
|
599
619
|
- roles/qb.yarn/meta/qb.yml
|
600
|
-
- roles/qb.yarn/tasks/
|
620
|
+
- roles/qb.yarn/tasks/distribution/MacOSX.yml
|
601
621
|
- roles/qb.yarn/tasks/main.yml
|
602
622
|
homepage: https://github.com/nrser/qb
|
603
623
|
licenses:
|