qb 0.1.17 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -2
- data/.gitmodules +6 -0
- data/.qb-options.yml +1 -1
- data/Gemfile +2 -0
- data/README.md +6 -1
- data/exe/qb +10 -5
- data/lib/qb/options.rb +15 -6
- data/lib/qb/role.rb +39 -7
- data/lib/qb/version.rb +1 -1
- data/library/qb_facts.py +47 -7
- data/qb.gemspec +12 -6
- data/roles/nrser.rb/library/vars.rb +1 -3
- data/roles/nrser.state_mate/.gitignore +38 -0
- data/roles/nrser.state_mate/.rspec +2 -0
- data/roles/nrser.state_mate/Gemfile +8 -0
- data/roles/nrser.state_mate/Gemfile.lock +46 -0
- data/roles/nrser.state_mate/README.md +45 -0
- data/roles/nrser.state_mate/VERSION +1 -0
- data/roles/nrser.state_mate/defaults/main.yml +3 -0
- data/roles/nrser.state_mate/library/state +82 -0
- data/roles/nrser.state_mate/meta/main.yml +138 -0
- data/roles/nrser.state_mate/spec/defaults/set_types_spec.rb +112 -0
- data/roles/nrser.state_mate/spec/nrser.state_mate_spec.rb +7 -0
- data/roles/nrser.state_mate/spec/spec_helper.rb +50 -0
- data/roles/nrser.state_mate/tasks/main.yml +7 -0
- data/roles/nrser.state_mate/test/ansible/ansible.cfg +5 -0
- data/roles/nrser.state_mate/test/ansible/hosts +1 -0
- data/roles/nrser.state_mate/test/ansible/template.yml +7 -0
- data/roles/qb.hack_npm/README.md +6 -0
- data/roles/qb.hack_npm/meta/main.yml +12 -0
- data/roles/qb.hack_npm/meta/qb.yml +49 -0
- data/roles/qb.hack_npm/tasks/create.yml +21 -0
- data/roles/qb.hack_npm/tasks/main.yml +74 -0
- data/roles/qb.hack_npm/vars/main.yml +15 -0
- data/roles/qb.install_gem/defaults/main.yml +1 -1
- data/roles/qb.npm_package/defaults/main.yml +17 -0
- data/roles/qb.npm_package/meta/main.yml +16 -0
- data/roles/{qb.npm → qb.npm_package}/meta/qb.yml +3 -2
- data/roles/qb.npm_package/tasks/main.yml +27 -0
- data/roles/qb.qb_role/meta/qb.yml +1 -1
- data/roles/qb.qb_role/templates/qb.yml.j2 +1 -1
- data/roles/qb.unhack_gem/README.md +10 -0
- data/roles/qb.unhack_gem/defaults/main.yml +2 -0
- data/roles/qb.unhack_gem/meta/main.yml +8 -0
- data/roles/qb.unhack_gem/meta/qb.yml +21 -0
- data/roles/qb.unhack_gem/tasks/main.yml +27 -0
- data/roles/qb.vars/.qb-options.yml +3 -0
- data/roles/qb.vars/README.md +1 -0
- data/roles/qb.vars/meta/main.yml +8 -0
- data/roles/qb.vars/meta/qb.yml +21 -0
- data/roles/qb.vars/tasks/main.yml +6 -0
- metadata +70 -7
- data/roles/qb.npm/defaults/main.yml +0 -16
- data/roles/qb.npm/meta/main.yml +0 -14
- data/roles/qb.npm/tasks/main.yml +0 -8
- data/roles/qb.npm/templates/package.json.j2 +0 -13
@@ -0,0 +1,138 @@
|
|
1
|
+
---
|
2
|
+
galaxy_info:
|
3
|
+
author: nrser
|
4
|
+
description: installs the state_mate gem and provides the `state` module.
|
5
|
+
# company: your company (optional)
|
6
|
+
# If the issue tracker for your role is not on github, uncomment the
|
7
|
+
# next line and provide a value
|
8
|
+
# issue_tracker_url: http://example.com/issue/tracker
|
9
|
+
# Some suggested licenses:
|
10
|
+
# - BSD (default)
|
11
|
+
# - MIT
|
12
|
+
# - GPLv2
|
13
|
+
# - GPLv3
|
14
|
+
# - Apache
|
15
|
+
# - CC-BY
|
16
|
+
license: BSD
|
17
|
+
min_ansible_version: 1.4
|
18
|
+
#
|
19
|
+
# Below are all platforms currently available. Just uncomment
|
20
|
+
# the ones that apply to your role. If you don't see your
|
21
|
+
# platform on this list, let us know and we'll get it added!
|
22
|
+
#
|
23
|
+
#platforms:
|
24
|
+
#- name: EL
|
25
|
+
# versions:
|
26
|
+
# - all
|
27
|
+
# - 5
|
28
|
+
# - 6
|
29
|
+
# - 7
|
30
|
+
#- name: GenericUNIX
|
31
|
+
# versions:
|
32
|
+
# - all
|
33
|
+
# - any
|
34
|
+
#- name: Fedora
|
35
|
+
# versions:
|
36
|
+
# - all
|
37
|
+
# - 16
|
38
|
+
# - 17
|
39
|
+
# - 18
|
40
|
+
# - 19
|
41
|
+
# - 20
|
42
|
+
# - 21
|
43
|
+
# - 22
|
44
|
+
#- name: Windows
|
45
|
+
# versions:
|
46
|
+
# - all
|
47
|
+
# - 2012R2
|
48
|
+
#- name: SmartOS
|
49
|
+
# versions:
|
50
|
+
# - all
|
51
|
+
# - any
|
52
|
+
#- name: opensuse
|
53
|
+
# versions:
|
54
|
+
# - all
|
55
|
+
# - 12.1
|
56
|
+
# - 12.2
|
57
|
+
# - 12.3
|
58
|
+
# - 13.1
|
59
|
+
# - 13.2
|
60
|
+
#- name: Amazon
|
61
|
+
# versions:
|
62
|
+
# - all
|
63
|
+
# - 2013.03
|
64
|
+
# - 2013.09
|
65
|
+
#- name: GenericBSD
|
66
|
+
# versions:
|
67
|
+
# - all
|
68
|
+
# - any
|
69
|
+
#- name: FreeBSD
|
70
|
+
# versions:
|
71
|
+
# - all
|
72
|
+
# - 8.0
|
73
|
+
# - 8.1
|
74
|
+
# - 8.2
|
75
|
+
# - 8.3
|
76
|
+
# - 8.4
|
77
|
+
# - 9.0
|
78
|
+
# - 9.1
|
79
|
+
# - 9.1
|
80
|
+
# - 9.2
|
81
|
+
#- name: Ubuntu
|
82
|
+
# versions:
|
83
|
+
# - all
|
84
|
+
# - lucid
|
85
|
+
# - maverick
|
86
|
+
# - natty
|
87
|
+
# - oneiric
|
88
|
+
# - precise
|
89
|
+
# - quantal
|
90
|
+
# - raring
|
91
|
+
# - saucy
|
92
|
+
# - trusty
|
93
|
+
# - utopic
|
94
|
+
# - vivid
|
95
|
+
#- name: SLES
|
96
|
+
# versions:
|
97
|
+
# - all
|
98
|
+
# - 10SP3
|
99
|
+
# - 10SP4
|
100
|
+
# - 11
|
101
|
+
# - 11SP1
|
102
|
+
# - 11SP2
|
103
|
+
# - 11SP3
|
104
|
+
#- name: GenericLinux
|
105
|
+
# versions:
|
106
|
+
# - all
|
107
|
+
# - any
|
108
|
+
#- name: Debian
|
109
|
+
# versions:
|
110
|
+
# - all
|
111
|
+
# - etch
|
112
|
+
# - jessie
|
113
|
+
# - lenny
|
114
|
+
# - squeeze
|
115
|
+
# - wheezy
|
116
|
+
#
|
117
|
+
# Below are all categories currently available. Just as with
|
118
|
+
# the platforms above, uncomment those that apply to your role.
|
119
|
+
#
|
120
|
+
categories:
|
121
|
+
#- cloud
|
122
|
+
#- cloud:ec2
|
123
|
+
#- cloud:gce
|
124
|
+
#- cloud:rax
|
125
|
+
#- clustering
|
126
|
+
#- database
|
127
|
+
#- database:nosql
|
128
|
+
#- database:sql
|
129
|
+
#- development
|
130
|
+
#- monitoring
|
131
|
+
#- networking
|
132
|
+
#- packaging
|
133
|
+
- system
|
134
|
+
#- web
|
135
|
+
dependencies: []
|
136
|
+
# List your role dependencies here, one per line.
|
137
|
+
# Be sure to remove the '[]' above if you add dependencies
|
138
|
+
# to this list.
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require 'nrser/refinements'
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'state_mate/adapters/defaults'
|
5
|
+
|
6
|
+
using NRSER
|
7
|
+
|
8
|
+
describe "nrser.state_mate:defaults" do
|
9
|
+
let(:defaults) {
|
10
|
+
StateMate::Adapters::Defaults
|
11
|
+
}
|
12
|
+
|
13
|
+
before(:all) {
|
14
|
+
# copy the role stuff
|
15
|
+
FileUtils.rm_r ROLE_DIR if ROLE_DIR.exist?
|
16
|
+
FileUtils.mkdir_p ROLE_DIR
|
17
|
+
['defaults', 'handlers', 'library', 'meta', 'tasks', 'vars'].each do |dir|
|
18
|
+
dest = ROLE_DIR + dir
|
19
|
+
FileUtils.rm_r dest if dest.exist?
|
20
|
+
FileUtils.cp_r (ROOT + dir), dest
|
21
|
+
end
|
22
|
+
}
|
23
|
+
|
24
|
+
before(:each) {
|
25
|
+
# this will error if the domain is missing
|
26
|
+
Cmds 'defaults delete %{domain}', domain: DOMAIN
|
27
|
+
}
|
28
|
+
|
29
|
+
VALUES = {
|
30
|
+
boolean: [true, false],
|
31
|
+
float: [24.0],
|
32
|
+
string: ["yes"],
|
33
|
+
# hash: [{'x' => true, 'y' => 'why'}],
|
34
|
+
}
|
35
|
+
|
36
|
+
VALUES.each do |type_name, values|
|
37
|
+
context type_name do
|
38
|
+
values.each do |value|
|
39
|
+
it "sets the #{ type_name } literal value #{ value.inspect }" do |ex|
|
40
|
+
playbook tasks: [
|
41
|
+
'name' => ex.description,
|
42
|
+
'state' => {
|
43
|
+
'defaults' => {
|
44
|
+
'key' => "#{ DOMAIN }:#{ type_name }",
|
45
|
+
'set' => value
|
46
|
+
}
|
47
|
+
}
|
48
|
+
]
|
49
|
+
|
50
|
+
expect( defaults.read [DOMAIN, type_name.to_s] ).to eq value
|
51
|
+
end
|
52
|
+
|
53
|
+
it "sets the #{ type_name } variable value #{ value.inspect }" do |ex|
|
54
|
+
playbook vars: {
|
55
|
+
'value' => value,
|
56
|
+
},
|
57
|
+
tasks: [
|
58
|
+
'name' => ex.description,
|
59
|
+
'state' => {
|
60
|
+
'defaults' => {
|
61
|
+
'key' => "#{ DOMAIN }:#{ type_name }",
|
62
|
+
'set' => '{{ value }}',
|
63
|
+
'type' => type_name.to_s,
|
64
|
+
}
|
65
|
+
}
|
66
|
+
]
|
67
|
+
|
68
|
+
expect( defaults.read [DOMAIN, type_name.to_s] ).to eq value
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# it "sets a float using a literal" do
|
75
|
+
# value = 24
|
76
|
+
#
|
77
|
+
# playbook(
|
78
|
+
# tasks: [
|
79
|
+
# 'name' => 'set float with literal',
|
80
|
+
# 'state' => {
|
81
|
+
# 'defaults' => {
|
82
|
+
# 'key' => "#{ DOMAIN }:float",
|
83
|
+
# 'set' => value,
|
84
|
+
# }
|
85
|
+
# }
|
86
|
+
# ]
|
87
|
+
# )
|
88
|
+
#
|
89
|
+
# expect( defaults.read [DOMAIN, 'float'] ).to eq value
|
90
|
+
# end
|
91
|
+
#
|
92
|
+
# it "sets a float using a variable" do
|
93
|
+
# value = 24
|
94
|
+
#
|
95
|
+
# playbook(
|
96
|
+
# vars: {
|
97
|
+
# 'value' => value,
|
98
|
+
# },
|
99
|
+
# tasks: [
|
100
|
+
# 'name' => 'set float with literal',
|
101
|
+
# 'state' => {
|
102
|
+
# 'defaults' => {
|
103
|
+
# 'key' => "#{ DOMAIN }:float",
|
104
|
+
# 'set' => "{{ value }}",
|
105
|
+
# }
|
106
|
+
# }
|
107
|
+
# ]
|
108
|
+
# )
|
109
|
+
#
|
110
|
+
# expect( defaults.read [DOMAIN, 'float'] ).to eq value
|
111
|
+
# end
|
112
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
require 'cmds'
|
5
|
+
|
6
|
+
require 'nrser/refinements'
|
7
|
+
require 'nrser/extras'
|
8
|
+
|
9
|
+
using NRSER
|
10
|
+
|
11
|
+
ROOT = NRSER.git_root __FILE__
|
12
|
+
ANSIBLE_DIR = ROOT + 'test' + 'ansible'
|
13
|
+
ROLES_DIR = ANSIBLE_DIR + 'roles'
|
14
|
+
ROLE_DIR = ROLES_DIR + 'nrser.state_mate'
|
15
|
+
TEMPLATE_PATH = ANSIBLE_DIR + 'template.yml'
|
16
|
+
PLAYBOOK_PATH = ANSIBLE_DIR + 'temp-playbook.yml'
|
17
|
+
|
18
|
+
DOMAIN = 'com.nrser.state_mate.ansible'
|
19
|
+
|
20
|
+
def playbook options = {}
|
21
|
+
data = YAML.load TEMPLATE_PATH.read
|
22
|
+
|
23
|
+
[:name, :vars, :roles, :tasks].each do |sym|
|
24
|
+
data[0][sym.to_s] = options[sym] if options.key? sym
|
25
|
+
end
|
26
|
+
|
27
|
+
PLAYBOOK_PATH.open('w') do |f|
|
28
|
+
f.write YAML.dump(data)
|
29
|
+
end
|
30
|
+
|
31
|
+
result = Dir.chdir ANSIBLE_DIR do
|
32
|
+
Cmds 'ansible-playbook %{path}', path: PLAYBOOK_PATH
|
33
|
+
end
|
34
|
+
|
35
|
+
unless result.ok?
|
36
|
+
raise binding.erb <<-END
|
37
|
+
error executing playbook
|
38
|
+
|
39
|
+
path: <%= PLAYBOOK_PATH %>
|
40
|
+
|
41
|
+
out:
|
42
|
+
|
43
|
+
<%= result.out.indent %>
|
44
|
+
|
45
|
+
err:
|
46
|
+
|
47
|
+
<%= result.err.indent %>
|
48
|
+
END
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
localhost ansible_connection=local
|
@@ -0,0 +1,49 @@
|
|
1
|
+
---
|
2
|
+
# meta/qb.yml file for qb.hack_npm
|
3
|
+
#
|
4
|
+
# qb settings for this role. see README.md for more info.
|
5
|
+
#
|
6
|
+
|
7
|
+
# prefix for role variables
|
8
|
+
var_prefix: null
|
9
|
+
|
10
|
+
# how to get a default for `dir` if it's not provided as the
|
11
|
+
default_dir: null
|
12
|
+
|
13
|
+
# set to false to not save options in .qb-options.yml files
|
14
|
+
save_options: false
|
15
|
+
|
16
|
+
options:
|
17
|
+
# - name: example
|
18
|
+
# description: an example of a variable.
|
19
|
+
# required: false
|
20
|
+
# type: boolean # boolean (default) | string
|
21
|
+
# short: e
|
22
|
+
- name: name
|
23
|
+
type: string
|
24
|
+
description: the repo name
|
25
|
+
short: n
|
26
|
+
|
27
|
+
- name: owner
|
28
|
+
type: string
|
29
|
+
description: the repo owner
|
30
|
+
short: o
|
31
|
+
|
32
|
+
- name: dest_dir
|
33
|
+
type: string
|
34
|
+
description: qb_dir relative dir to put the submodule in under it's name.
|
35
|
+
short: d
|
36
|
+
|
37
|
+
- name: dest_path
|
38
|
+
type: string
|
39
|
+
description: >
|
40
|
+
qb_dir relative path to put the submodule at. supercedes dest_dir.
|
41
|
+
short: p
|
42
|
+
|
43
|
+
- name: create
|
44
|
+
type: boolean
|
45
|
+
description: create a new npm package to hack
|
46
|
+
short: c
|
47
|
+
|
48
|
+
- include: qb.npm_package
|
49
|
+
as: package
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
# create a new npm package to hack
|
3
|
+
- name: add everything
|
4
|
+
command: git add --all .
|
5
|
+
args:
|
6
|
+
chdir: "{{ qb_dir }}"
|
7
|
+
|
8
|
+
- name: add commit everything
|
9
|
+
command: git commit -m "init"
|
10
|
+
args:
|
11
|
+
chdir: "{{ qb_dir }}"
|
12
|
+
|
13
|
+
- name: push
|
14
|
+
command: git push --set-upstream origin master
|
15
|
+
args:
|
16
|
+
chdir: "{{ qb_dir }}"
|
17
|
+
|
18
|
+
- name: remove it
|
19
|
+
file:
|
20
|
+
path: "{{ qb_dir }}"
|
21
|
+
state: absent
|
@@ -0,0 +1,74 @@
|
|
1
|
+
---
|
2
|
+
# tasks file for qb.hack_npm
|
3
|
+
|
4
|
+
# - set_fact:
|
5
|
+
# hack_npm_rel_dir: "{{ qb_dir | relpath(qb_cwd) }}"
|
6
|
+
|
7
|
+
- name: setup some variables
|
8
|
+
vars.rb:
|
9
|
+
namespace: hack_npm
|
10
|
+
bind:
|
11
|
+
qb_dir: "{{ qb_dir }}"
|
12
|
+
qb_cwd: "{{ qb_cwd }}"
|
13
|
+
src: |
|
14
|
+
require 'pathname'
|
15
|
+
require 'cmds'
|
16
|
+
|
17
|
+
vars = {}
|
18
|
+
|
19
|
+
# get the root of the git repot that we're operating from
|
20
|
+
Dir.chdir qb_cwd do
|
21
|
+
begin
|
22
|
+
vars['repo_root'] = Cmds.out!('git rev-parse --show-toplevel').strip
|
23
|
+
rescue Exception => e
|
24
|
+
raise "don't seem to be in a git repo..? #{ e.message }"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# get the relative path
|
29
|
+
vars['rel_dir'] = Pathname.new(qb_dir)
|
30
|
+
.relative_path_from(Pathname.new(vars['repo_root']))
|
31
|
+
.to_s
|
32
|
+
|
33
|
+
# for the rest we want to be in the repo root
|
34
|
+
Dir.chdir vars['repo_root'] do
|
35
|
+
# see if the submodule is already in place
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
vars
|
40
|
+
|
41
|
+
- include: create.yml
|
42
|
+
when: hack_npm_create
|
43
|
+
|
44
|
+
- name: "add {{ hack_npm_owner }}/{{ hack_npm_name }} submodule"
|
45
|
+
command: >
|
46
|
+
git submodule add --force
|
47
|
+
git@github.com:{{ hack_npm_owner }}/{{ hack_npm_name }}.git
|
48
|
+
{{ hack_npm_rel_dir }}
|
49
|
+
args:
|
50
|
+
chdir: "{{ qb_cwd }}"
|
51
|
+
creates: "{{ qb_dir }}"
|
52
|
+
|
53
|
+
- name: add linking to dev/setup.yml
|
54
|
+
# - name: npm link nrser.js for jash so it can build
|
55
|
+
# tags:
|
56
|
+
# - npm-link
|
57
|
+
# command: npm link ../nrser.js
|
58
|
+
# args:
|
59
|
+
# chdir: "{{ dev_setup_project_root }}/packages/{{ item }}"
|
60
|
+
# with_items:
|
61
|
+
# - jash
|
62
|
+
state:
|
63
|
+
debug: w
|
64
|
+
yaml:
|
65
|
+
key: "{{ qb_cwd }}/dev/setup.yml:0:tasks"
|
66
|
+
array_contains:
|
67
|
+
name: "npm link {{ hack_npm_rel_dir }}"
|
68
|
+
tags:
|
69
|
+
- npm-link
|
70
|
+
command: "npm link {{ hack_npm_rel_dir }}"
|
71
|
+
args:
|
72
|
+
chdir: "{{ '{{ dev_setup_project_root }}' }}"
|
73
|
+
create: true
|
74
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
# vars file for qb.hack_npm
|
3
|
+
hack_npm_name: "{{ qb_dir | basename }}"
|
4
|
+
hack_npm_owner: "{{ git_user_name }}"
|
5
|
+
# hack_npm_dest_dir: "{{ qb_dir }}/dev/packages"
|
6
|
+
# hack_npm_dest_path: "{{ hack_npm_dest_dir }}/{{ hack_npm_name }}"
|
7
|
+
hack_npm_create: false
|
8
|
+
|
9
|
+
# overrides
|
10
|
+
npm_package_project: true
|
11
|
+
npm_package_scope: "{{ hack_npm_owner }}"
|
12
|
+
npm_package_name: "{{ hack_npm_name }}"
|
13
|
+
project_name: "{{ hack_npm_name }}"
|
14
|
+
project_owner: "{{ hack_npm_owner }}"
|
15
|
+
project_hub: true
|
@@ -0,0 +1,17 @@
|
|
1
|
+
---
|
2
|
+
# defaults file for qb.npm_package
|
3
|
+
npm_package_force: false
|
4
|
+
|
5
|
+
# package.json stuff
|
6
|
+
npm_package_name: "{{ qb_dir | basename }}"
|
7
|
+
npm_package_scope: null
|
8
|
+
npm_package_scoped_name: "{{ ('@' + npm_package_scope + '/' + npm_package_name) if npm_package_scope else npm_package_name }}"
|
9
|
+
npm_package_private: true
|
10
|
+
npm_package_version: "0.1.0"
|
11
|
+
npm_package_description: "{{ npm_package_scoped_name }} package"
|
12
|
+
npm_package_main: "index.js"
|
13
|
+
npm_package_keywords: []
|
14
|
+
npm_package_license: "{{ 'UNLICENSED' if npm_package_private else 'ISC' }}"
|
15
|
+
npm_package_author: "{{ npm_package_scope if npm_package_scope else git_user_name }}"
|
16
|
+
|
17
|
+
npm_package_project: false
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
# meta file for qb.npm_package
|
3
|
+
|
4
|
+
allow_duplicates: yes
|
5
|
+
|
6
|
+
dependencies:
|
7
|
+
- role: nrser.state_mate
|
8
|
+
|
9
|
+
- role: qb.gitignore
|
10
|
+
gitignore_name: Node
|
11
|
+
gitignore_force: "{{ npm_package_force }}"
|
12
|
+
|
13
|
+
- role: qb.project
|
14
|
+
project_private: "{{ npm_package_private }}"
|
15
|
+
project_force: "{{ npm_package_force }}"
|
16
|
+
when: npm_package_project
|
@@ -1,5 +1,5 @@
|
|
1
1
|
---
|
2
|
-
# meta/qb.yml file for qb.
|
2
|
+
# meta/qb.yml file for qb.npm_package
|
3
3
|
#
|
4
4
|
# qb settings for this role. see README.md for more info.
|
5
5
|
#
|
@@ -10,7 +10,7 @@ var_prefix: null
|
|
10
10
|
# how to get a default for `dir` if it's not provided as the
|
11
11
|
default_dir: null
|
12
12
|
|
13
|
-
# set to false to not save options in
|
13
|
+
# set to false to not save options in .qb-options.yml files
|
14
14
|
save_options: true
|
15
15
|
|
16
16
|
vars:
|
@@ -28,6 +28,7 @@ vars:
|
|
28
28
|
- name: scope
|
29
29
|
description: npm scope to create the module under.
|
30
30
|
type: string
|
31
|
+
accept_false: true
|
31
32
|
short: s
|
32
33
|
|
33
34
|
- name: name
|
@@ -0,0 +1,27 @@
|
|
1
|
+
---
|
2
|
+
# tasks file for qb.npm_package_module
|
3
|
+
|
4
|
+
- name: set npm_package_json_path
|
5
|
+
set_fact:
|
6
|
+
npm_package_json_path: "{{ qb_dir }}/package.json"
|
7
|
+
|
8
|
+
- name: create package.json
|
9
|
+
command: npm init -y
|
10
|
+
args:
|
11
|
+
chdir: "{{ qb_dir }}"
|
12
|
+
creates: "{{ npm_package_json_path }}"
|
13
|
+
|
14
|
+
- name: set package.json scalar values
|
15
|
+
state:
|
16
|
+
json:
|
17
|
+
key: "{{ npm_package_json_path }}:{{ item.key }}"
|
18
|
+
set: "{{ item.value }}"
|
19
|
+
with_dict:
|
20
|
+
name: "{{ npm_package_scoped_name }}"
|
21
|
+
private: "{{ npm_package_private }}"
|
22
|
+
version: "{{ npm_package_version }}"
|
23
|
+
description: "{{ npm_package_description }}"
|
24
|
+
main: "{{ npm_package_main }}"
|
25
|
+
keywords: "{{ npm_package_keywords | to_json }}"
|
26
|
+
license: "{{ npm_package_license }}"
|
27
|
+
author: "{{ npm_package_author }}"
|
@@ -10,7 +10,7 @@ var_prefix: null
|
|
10
10
|
# how to get a default for `dir` if it's not provided as the
|
11
11
|
default_dir: null
|
12
12
|
|
13
|
-
# set to false to not save options in
|
13
|
+
# set to false to not save options in .qb-options.yml files
|
14
14
|
save_options: true
|
15
15
|
|
16
16
|
options: []
|
@@ -0,0 +1,10 @@
|
|
1
|
+
qb.unhack_gem role
|
2
|
+
==================
|
3
|
+
|
4
|
+
remove a gem submodule that was added with `qb hack_gem` (or otherwise) to hack on locally along side the main project, reverting to using the published version.
|
5
|
+
|
6
|
+
removes the submodule at `qb_dir` and removes the
|
7
|
+
|
8
|
+
gem <gem-name>, '~> 0.0', :path => <qb_dir>
|
9
|
+
|
10
|
+
line from `./Gemfile`.
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
# meta/qb.yml file for qb.unhack_gem
|
3
|
+
#
|
4
|
+
# qb settings for this role. see README.md for more info.
|
5
|
+
#
|
6
|
+
|
7
|
+
# prefix for role variables
|
8
|
+
var_prefix: null
|
9
|
+
|
10
|
+
# how to get a default for `dir` if it's not provided as the
|
11
|
+
default_dir: null
|
12
|
+
|
13
|
+
# set to false to not save options in .qb-options.yml files
|
14
|
+
save_options: true
|
15
|
+
|
16
|
+
options: []
|
17
|
+
# - name: example
|
18
|
+
# description: an example of a variable.
|
19
|
+
# required: false
|
20
|
+
# type: boolean # boolean (default) | string
|
21
|
+
# short: e
|