qb 0.3.15 → 0.3.16
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/ansible/module.rb +80 -10
- data/lib/qb/package.rb +4 -14
- data/lib/qb/path.rb +21 -18
- data/lib/qb/repo.rb +5 -15
- data/lib/qb/repo/git.rb +69 -53
- data/lib/qb/repo/git/github.rb +12 -4
- data/lib/qb/repo/git/user.rb +33 -0
- data/lib/qb/role.rb +22 -22
- data/lib/qb/version.rb +1 -1
- data/library/path_facts +0 -90
- data/qb.gemspec +2 -2
- data/roles/qb/git/check/clean/defaults/main.yml +7 -0
- data/roles/qb/git/check/clean/meta/qb.yml +48 -0
- data/roles/qb/git/check/clean/tasks/main.yml +26 -10
- data/roles/qb/role/meta/qb.yml +3 -3
- data/roles/qb/role/qb/templates/qb.yml.j2 +1 -1
- data/roles/qb/ruby/dependency/.qb-options.yml +4 -0
- data/roles/qb/ruby/dependency/defaults/main.yml +23 -0
- data/roles/qb/ruby/dependency/filter_plugins/dependency_filters.py +207 -0
- data/roles/qb/ruby/dependency/meta/main.yml +10 -0
- data/roles/qb/ruby/dependency/meta/qb.yml +49 -0
- data/roles/qb/ruby/dependency/tasks/detect_type.yml +18 -0
- data/roles/qb/ruby/dependency/tasks/main.yml +16 -0
- data/roles/qb/ruby/dependency/tasks/types/gemfile.yml +6 -0
- data/roles/qb/ruby/dependency/tasks/types/gemspec.yml +71 -0
- data/roles/qb/{gem → ruby/gem}/bin_stubs/defaults/main.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/bin_stubs/meta/main.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/bin_stubs/meta/qb.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/bin_stubs/tasks/main.yml +1 -1
- data/roles/qb/ruby/gem/bin_stubs/templates/console +33 -0
- data/roles/qb/{gem → ruby/gem}/bin_stubs/templates/rake +0 -0
- data/roles/qb/{gem → ruby/gem}/bin_stubs/templates/rspec +0 -0
- data/roles/qb/{gem → ruby/gem}/build/defaults/main.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/build/meta/main.yml +0 -0
- data/roles/qb/{gem → ruby/gem}/build/meta/qb.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/build/tasks/main.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/install/defaults/main.yml +0 -0
- data/roles/qb/{gem → ruby/gem}/install/meta/main.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/install/meta/qb.yml +0 -0
- data/roles/qb/{gem → ruby/gem}/install/tasks/main.yml +0 -0
- data/roles/qb/{gem → ruby/gem}/new/defaults/main.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/new/meta/main.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/new/meta/qb.yml +1 -1
- data/roles/qb/{gem → ruby/gem}/new/tasks/bundle_gem.yml +0 -0
- data/roles/qb/{gem → ruby/gem}/new/tasks/main.yml +1 -1
- data/roles/qb/ruby/gem/release/defaults/main.yml +5 -0
- data/roles/qb/{gem → ruby/gem}/release/meta/main.yml +1 -1
- data/roles/qb/ruby/gem/release/meta/qb.yml +27 -0
- data/roles/qb/{gem → ruby/gem}/release/tasks/main.yml +4 -6
- data/roles/qb/ruby/gem/release/tasks/release.yml +42 -0
- data/roles/qb/ruby/rspec/setup/defaults/main.yml +7 -0
- data/roles/qb/ruby/rspec/setup/meta/main.yml +9 -0
- data/roles/qb/ruby/rspec/setup/meta/qb.yml +47 -0
- data/roles/qb/ruby/rspec/setup/tasks/main.yml +4 -0
- data/roles/qb/ruby/rspec/setup/tasks/persistence.yml +0 -0
- data/roles/qb/ruby/yard/clean/defaults/main.yml +7 -0
- data/roles/qb/ruby/yard/clean/meta/main.yml +9 -0
- data/roles/qb/ruby/yard/clean/meta/qb.yml +48 -0
- data/roles/qb/ruby/yard/clean/tasks/main.yml +27 -0
- data/roles/qb/ruby/yard/config/.qb-options.yml +4 -0
- data/roles/qb/ruby/yard/config/defaults/main.yml +15 -0
- data/roles/qb/ruby/yard/config/library/yard.get_output_dir +59 -0
- data/roles/qb/ruby/yard/config/meta/main.yml +10 -0
- data/roles/qb/ruby/yard/config/meta/qb.yml +49 -0
- data/roles/qb/ruby/yard/config/tasks/get_yard_output_dir.yml +10 -0
- data/roles/qb/ruby/yard/config/tasks/main.yml +4 -0
- data/roles/qb/ruby/yard/setup/defaults/main.yml +6 -0
- data/roles/qb/ruby/yard/{meta → setup/meta}/main.yml +2 -1
- data/roles/qb/ruby/yard/{meta → setup/meta}/qb.yml +5 -5
- data/roles/qb/ruby/yard/setup/tasks/main.yml +35 -0
- data/roles/qb/ruby/yard/setup/tasks/versions/v0.9.yml +32 -0
- data/roles/qb/ruby/yard/setup/tasks/yardopts.yml +59 -0
- metadata +65 -35
- data/roles/qb/gem/bin_stubs/templates/console +0 -25
- data/roles/qb/gem/release/defaults/main.yml +0 -5
- data/roles/qb/gem/release/meta/qb.yml +0 -21
- data/roles/qb/ruby/yard/defaults/args.yml +0 -2
- data/roles/qb/ruby/yard/defaults/main.yml +0 -9
- data/roles/qb/ruby/yard/tasks/main.yml +0 -28
data/roles/qb/role/meta/qb.yml
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# prefix for role variables
|
|
8
8
|
var_prefix: role
|
|
9
9
|
|
|
10
|
-
# how to get a default for `dir` if it's not provided as the
|
|
10
|
+
# how to get a default for `dir` if it's not provided as the
|
|
11
11
|
default_dir: null
|
|
12
12
|
|
|
13
13
|
vars:
|
|
@@ -98,9 +98,9 @@ vars:
|
|
|
98
98
|
- |
|
|
99
99
|
Generates a `filter_plugins/filter_plugins.py`
|
|
100
100
|
|
|
101
|
-
qb qb.role roles/owner.new_role --filter-plugins
|
|
101
|
+
qb qb.role roles/owner.new_role --filter-plugins=true
|
|
102
102
|
|
|
103
103
|
|
|
104
104
|
|
|
105
105
|
- include: qb/project
|
|
106
|
-
|
|
106
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
##############################################################################
|
|
3
|
+
# Variable defaults for `qb/ruby/dependency` role
|
|
4
|
+
#
|
|
5
|
+
# @see http://docs.ansible.com/ansible/latest/playbooks_reuse_roles.html#role-default-variables
|
|
6
|
+
#
|
|
7
|
+
##############################################################################
|
|
8
|
+
|
|
9
|
+
# Default to target the QB DIRECTORY
|
|
10
|
+
bundle_root: >-
|
|
11
|
+
{{ qb_dir }}
|
|
12
|
+
|
|
13
|
+
# Default to present
|
|
14
|
+
ruby_dep_state: present
|
|
15
|
+
|
|
16
|
+
# Default to no version spec
|
|
17
|
+
ruby_dep_version: null
|
|
18
|
+
|
|
19
|
+
# Default to no comment
|
|
20
|
+
ruby_dep_comment: null
|
|
21
|
+
|
|
22
|
+
# Default to a runtime dependency
|
|
23
|
+
ruby_dep_dev: false
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
#!/usr/bin/env python2
|
|
2
|
+
##############################################################################
|
|
3
|
+
# `dependency` Ansible/Jinja2 filters for `qb/ruby/dependency` role.
|
|
4
|
+
##############################################################################
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# Imports
|
|
8
|
+
# ============================================================================
|
|
9
|
+
|
|
10
|
+
# Make Python 2 more Python 3-like
|
|
11
|
+
from __future__ import (absolute_import, division, print_function)
|
|
12
|
+
__metaclass__ = type
|
|
13
|
+
|
|
14
|
+
from ansible.errors import AnsibleError
|
|
15
|
+
|
|
16
|
+
# Some imports you may often want:
|
|
17
|
+
# import sys
|
|
18
|
+
# improt os
|
|
19
|
+
# import subprocess
|
|
20
|
+
# import yaml
|
|
21
|
+
# improt json
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# Utilities
|
|
25
|
+
# ============================================================================
|
|
26
|
+
|
|
27
|
+
def kwd_args(f):
|
|
28
|
+
'''
|
|
29
|
+
Decorator to convert a single dict arg to keyword args.
|
|
30
|
+
|
|
31
|
+
Allows usage of filter with keyword args as "subject" or whatever you
|
|
32
|
+
call it:
|
|
33
|
+
|
|
34
|
+
{
|
|
35
|
+
'owner': 'beiarea',
|
|
36
|
+
'name': 'www-rails_web',
|
|
37
|
+
'tag': '0.1.2'
|
|
38
|
+
} | to_image_id
|
|
39
|
+
|
|
40
|
+
'''
|
|
41
|
+
def new_f(*args, **kwds):
|
|
42
|
+
if len(args) == 1 and isinstance(args[0], dict):
|
|
43
|
+
return f(**args[0])
|
|
44
|
+
else:
|
|
45
|
+
return f(*args, **kwds)
|
|
46
|
+
|
|
47
|
+
return new_f
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def quote(string):
|
|
51
|
+
'''
|
|
52
|
+
A dumb and bad sinlge quoert that relies on the argument not having any
|
|
53
|
+
single quotes in it.
|
|
54
|
+
|
|
55
|
+
:param string: str String to quote
|
|
56
|
+
:rtype: str
|
|
57
|
+
'''
|
|
58
|
+
return "'{}'".format(string)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def gemspec_dep_call(dev):
|
|
62
|
+
'''
|
|
63
|
+
Get the correct 'spec.add_dependency' or 'spec.add_development_dependency'
|
|
64
|
+
depending on `dev`.
|
|
65
|
+
|
|
66
|
+
:param dev: bool
|
|
67
|
+
:rtype: str
|
|
68
|
+
'''
|
|
69
|
+
|
|
70
|
+
if dev:
|
|
71
|
+
return 'spec.add_development_dependency'
|
|
72
|
+
else:
|
|
73
|
+
return 'spec.add_dependency'
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
# Filter Functions
|
|
77
|
+
# ============================================================================
|
|
78
|
+
#
|
|
79
|
+
# Suggested practice seems to be to define each filter as a top-level function
|
|
80
|
+
# then expose them via the `FilterModule#filters` method below.
|
|
81
|
+
#
|
|
82
|
+
|
|
83
|
+
def gemspec_dep_line(name, version = None, dev = False, indent = ' '):
|
|
84
|
+
'''
|
|
85
|
+
Generate a dependency line for a `.gemspec` file.
|
|
86
|
+
|
|
87
|
+
:param name: The gem name
|
|
88
|
+
:type name: str
|
|
89
|
+
|
|
90
|
+
:param version: The optional version spec(s)
|
|
91
|
+
:type version: None | str | list<str>
|
|
92
|
+
|
|
93
|
+
:param dev: If the dependency is development or not
|
|
94
|
+
:type dev: bool
|
|
95
|
+
|
|
96
|
+
:return: The dependency line for the `.gemspec` file.
|
|
97
|
+
:rtype: str
|
|
98
|
+
|
|
99
|
+
>>> gemspec_dep_line(name = 'yard')
|
|
100
|
+
" spec.add_dependency 'yard'"
|
|
101
|
+
|
|
102
|
+
>>> gemspec_dep_line(
|
|
103
|
+
... name = 'yard',
|
|
104
|
+
... version = '~> 0.9.12',
|
|
105
|
+
... )
|
|
106
|
+
" spec.add_dependency 'yard', '~> 0.9.12'"
|
|
107
|
+
|
|
108
|
+
>>> gemspec_dep_line(
|
|
109
|
+
... name = 'yard',
|
|
110
|
+
... version = '~> 0.9.12',
|
|
111
|
+
... dev = True,
|
|
112
|
+
... )
|
|
113
|
+
" spec.add_development_dependency 'yard', '~> 0.9.12'"
|
|
114
|
+
|
|
115
|
+
>>> gemspec_dep_line(
|
|
116
|
+
... name = 'bundler',
|
|
117
|
+
... version = ['~> 1.16', '>= 1.16.1'],
|
|
118
|
+
... dev = True,
|
|
119
|
+
... )
|
|
120
|
+
" spec.add_development_dependency 'bundler', '~> 1.16', '>= 1.16.1'"
|
|
121
|
+
'''
|
|
122
|
+
|
|
123
|
+
call = gemspec_dep_call(dev)
|
|
124
|
+
args = [quote(name)]
|
|
125
|
+
|
|
126
|
+
if not version is None:
|
|
127
|
+
if isinstance(version, list):
|
|
128
|
+
for condition in version:
|
|
129
|
+
args.append(
|
|
130
|
+
quote(condition)
|
|
131
|
+
)
|
|
132
|
+
else:
|
|
133
|
+
args.append(quote(version))
|
|
134
|
+
|
|
135
|
+
return "{}{} {}".format(indent, call, ", ".join(args))
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def gemspec_dep_re_str(name, version = None, dev = False):
|
|
139
|
+
'''
|
|
140
|
+
Generate a regex string for Ansible's `lineinfile` module to match
|
|
141
|
+
a dependency line for a `.gemspec` file.
|
|
142
|
+
|
|
143
|
+
Params
|
|
144
|
+
|
|
145
|
+
:rtype: str
|
|
146
|
+
|
|
147
|
+
Does not doctest well due to backslashness.
|
|
148
|
+
'''
|
|
149
|
+
|
|
150
|
+
call = gemspec_dep_call(dev)
|
|
151
|
+
|
|
152
|
+
return "^\\s+{call}\s+[\\'\\\"]{name}[\\'\\\"]".format(
|
|
153
|
+
call = call,
|
|
154
|
+
name = name,
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
def gemspec_dep_insert_after(name, version = None, dev = False):
|
|
159
|
+
'''
|
|
160
|
+
Generate a regex string for Ansible's `lineinfile` module to match
|
|
161
|
+
the last `spec.add_dependency` or `spec.add_development_dependency`,
|
|
162
|
+
depending on `dev`.
|
|
163
|
+
|
|
164
|
+
Does not doctest well due to backslashness.
|
|
165
|
+
|
|
166
|
+
:rtype: str
|
|
167
|
+
'''
|
|
168
|
+
|
|
169
|
+
call = gemspec_dep_call(dev)
|
|
170
|
+
|
|
171
|
+
return "^\\s+{call}".format(call = call)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
# Module
|
|
176
|
+
# ============================================================================
|
|
177
|
+
#
|
|
178
|
+
# How Ansible finds the filters. It looks like it gets instantiated with
|
|
179
|
+
# no arguments, at least most of the time, so it pretty much just serves as
|
|
180
|
+
# a well-known name to obtain the function references from.
|
|
181
|
+
#
|
|
182
|
+
class FilterModule(object):
|
|
183
|
+
'''
|
|
184
|
+
Ansible/Jinja2 filters for `qb/ruby/dependency` role.
|
|
185
|
+
'''
|
|
186
|
+
|
|
187
|
+
def filters(self):
|
|
188
|
+
return {
|
|
189
|
+
'to_gemspec_dep_line': kwd_args(gemspec_dep_line),
|
|
190
|
+
'to_gemspec_dep_re_str': kwd_args(gemspec_dep_re_str),
|
|
191
|
+
'to_gemspec_dep_insert_after': kwd_args(gemspec_dep_insert_after),
|
|
192
|
+
}
|
|
193
|
+
# filters()
|
|
194
|
+
# FilterModule
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
# Testing
|
|
198
|
+
# ============================================================================
|
|
199
|
+
#
|
|
200
|
+
# This is not standard Ansible-ness - they use `unittest.TestCase` in separate
|
|
201
|
+
# files - but `doctest` seemed like a really easy way to add and run tests
|
|
202
|
+
# for these typically simple functions.
|
|
203
|
+
#
|
|
204
|
+
if __name__ == '__main__':
|
|
205
|
+
import doctest
|
|
206
|
+
doctest.testmod()
|
|
207
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
##############################################################################
|
|
3
|
+
# Ansible metadata for `qb/ruby/dependency` role
|
|
4
|
+
##############################################################################
|
|
5
|
+
|
|
6
|
+
allow_duplicates: yes
|
|
7
|
+
|
|
8
|
+
dependencies: []
|
|
9
|
+
# - role: role-name
|
|
10
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
##############################################################################
|
|
3
|
+
# QB metadata for `qb/ruby/dependency` role.
|
|
4
|
+
#
|
|
5
|
+
# QB settings for this role.
|
|
6
|
+
#
|
|
7
|
+
# @see http://www.rubydoc.info/gems/qb/file/doc/qb_roles/metadata.md
|
|
8
|
+
#
|
|
9
|
+
##############################################################################
|
|
10
|
+
|
|
11
|
+
# Shown in help output, etc.
|
|
12
|
+
description: >-
|
|
13
|
+
TODO describe qb/ruby/dependency role
|
|
14
|
+
|
|
15
|
+
# Gemspec-style requirements. Right now only `.gems.qb` is used.
|
|
16
|
+
requirements:
|
|
17
|
+
gems:
|
|
18
|
+
qb: ~> 0.3.0
|
|
19
|
+
|
|
20
|
+
# Prefix for role variables
|
|
21
|
+
var_prefix: dependency
|
|
22
|
+
|
|
23
|
+
# How to get a default for `DIRECTORY` arg if not provided by user.
|
|
24
|
+
#
|
|
25
|
+
# @see http://www.rubydoc.info/gems/qb/file/doc/qb_roles/metadata/default_dir.md
|
|
26
|
+
#
|
|
27
|
+
default_dir:
|
|
28
|
+
- find_up: '*.gemspec'
|
|
29
|
+
- find_up: Gemfile
|
|
30
|
+
|
|
31
|
+
# If `true`, QB will ensure `DIRECTORY` exists before starting the play.
|
|
32
|
+
mkdir: false
|
|
33
|
+
|
|
34
|
+
# Default user to become for play
|
|
35
|
+
default_user: null
|
|
36
|
+
|
|
37
|
+
# Save options in `.qb-options.yml` files
|
|
38
|
+
save_options: true
|
|
39
|
+
|
|
40
|
+
# Options to pass to `ansible-playbook`
|
|
41
|
+
ansible_options: {}
|
|
42
|
+
|
|
43
|
+
# Role CLI options that become Ansible vars
|
|
44
|
+
options: []
|
|
45
|
+
# - name: example
|
|
46
|
+
# description: an example of a variable.
|
|
47
|
+
# required: false
|
|
48
|
+
# type: boolean # boolean (default) | string
|
|
49
|
+
# short: e
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
##
|
|
3
|
+
# Detect the type of `bundle_root` - gemspec or gemfile
|
|
4
|
+
##
|
|
5
|
+
|
|
6
|
+
- when: bundle_root_path_facts is not defined
|
|
7
|
+
name: >-
|
|
8
|
+
Get QB path facts for the bundle root at `{{ bundle_root }}`
|
|
9
|
+
path_facts:
|
|
10
|
+
path: >-
|
|
11
|
+
{{ bundle_root }}
|
|
12
|
+
register: bundle_root_path_facts
|
|
13
|
+
|
|
14
|
+
- name: >-
|
|
15
|
+
Set bundle_root_type based on `bundle_root_path_facts`
|
|
16
|
+
set_fact:
|
|
17
|
+
bundle_root_type: >-
|
|
18
|
+
{{ ('gem' in bundle_root_path_facts) | ternary('gemspec', 'gemfile') }}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
##############################################################################
|
|
3
|
+
# Main tasks for `qb/ruby/dependency` role
|
|
4
|
+
##############################################################################
|
|
5
|
+
|
|
6
|
+
- when: bundle_root_type is not defined
|
|
7
|
+
name: >-
|
|
8
|
+
Include tasks to detect type of `bundle_root={{ bundle_root}}`
|
|
9
|
+
(gemspec or gemfile)
|
|
10
|
+
include_tasks: >-
|
|
11
|
+
{{ role_path }}/tasks/detect_type.yml
|
|
12
|
+
|
|
13
|
+
- name: >-
|
|
14
|
+
Include tasks to apply state to `{{ bundle_root_type }}` type
|
|
15
|
+
include_tasks: >-
|
|
16
|
+
{{ role_path }}/tasks/types/{{ bundle_root_type }}.yml
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
##
|
|
3
|
+
# Apply dep state to a `.gemspec` file
|
|
4
|
+
##
|
|
5
|
+
|
|
6
|
+
- name: >-
|
|
7
|
+
Apply `{{ ruby_dep_state }}` state to `{{ ruby_dep_name }}` dep in
|
|
8
|
+
gemspec at `{{ bundle_root_path_facts.gem.gemspec_path }}`
|
|
9
|
+
|
|
10
|
+
lineinfile:
|
|
11
|
+
state: >-
|
|
12
|
+
{{ ruby_dep_state }}
|
|
13
|
+
|
|
14
|
+
path: >-
|
|
15
|
+
{{ bundle_root_path_facts.gem.gemspec_path }}
|
|
16
|
+
|
|
17
|
+
line: >-
|
|
18
|
+
{{
|
|
19
|
+
{
|
|
20
|
+
'name': ruby_dep_name,
|
|
21
|
+
'version': ruby_dep_version,
|
|
22
|
+
'dev': ruby_dep_dev,
|
|
23
|
+
} | to_gemspec_dep_line
|
|
24
|
+
}}
|
|
25
|
+
|
|
26
|
+
# Match any dependency of this type (runtime vs dev) for this gem
|
|
27
|
+
regexp: >-
|
|
28
|
+
{{
|
|
29
|
+
{
|
|
30
|
+
'name': ruby_dep_name,
|
|
31
|
+
'version': ruby_dep_version,
|
|
32
|
+
'dev': ruby_dep_dev,
|
|
33
|
+
} | to_gemspec_dep_re_str
|
|
34
|
+
}}
|
|
35
|
+
|
|
36
|
+
# Insert after the *last* `spec.add_dependency` or
|
|
37
|
+
# `spec.add_development_dependency` (depending on if the dep is dev)
|
|
38
|
+
insertafter: >-
|
|
39
|
+
{{
|
|
40
|
+
{
|
|
41
|
+
'name': ruby_dep_name,
|
|
42
|
+
'version': ruby_dep_version,
|
|
43
|
+
'dev': ruby_dep_dev,
|
|
44
|
+
} | to_gemspec_dep_insert_after
|
|
45
|
+
}}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
- when: >-
|
|
49
|
+
ruby_dep_comment and ruby_dep_state == 'present'
|
|
50
|
+
|
|
51
|
+
name: >-
|
|
52
|
+
Add the comment above the dep line
|
|
53
|
+
|
|
54
|
+
lineinfile:
|
|
55
|
+
state: present
|
|
56
|
+
|
|
57
|
+
path: >-
|
|
58
|
+
{{ bundle_root_path_facts.gem.gemspec_path }}
|
|
59
|
+
|
|
60
|
+
line: >-
|
|
61
|
+
{{ ' # ' + ruby_dep_comment }}
|
|
62
|
+
|
|
63
|
+
# Insert it before the dep line, using the same regexp to find it
|
|
64
|
+
insertbefore: >-
|
|
65
|
+
{{
|
|
66
|
+
{
|
|
67
|
+
'name': ruby_dep_name,
|
|
68
|
+
'version': ruby_dep_version,
|
|
69
|
+
'dev': ruby_dep_dev,
|
|
70
|
+
} | to_gemspec_dep_re_str
|
|
71
|
+
}}
|