repo_manager 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemfiles +115 -0
- data/.gitattributes +1 -0
- data/.gitignore +7 -0
- data/.rspec +3 -0
- data/.yardopts +11 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +99 -0
- data/Guardfile +63 -0
- data/HISTORY.markdown +12 -0
- data/LICENSE +20 -0
- data/README.markdown +192 -0
- data/Rakefile +94 -0
- data/TODO.markdown +15 -0
- data/VERSION +1 -0
- data/bin/repo +151 -0
- data/cucumber.yml +28 -0
- data/examples/pc_saved_game_backup/.gitignore +2 -0
- data/examples/pc_saved_game_backup/INSTALL.markdown +420 -0
- data/examples/pc_saved_game_backup/README.markdown +108 -0
- data/examples/pc_saved_game_backup/remote/.gitignore +2 -0
- data/examples/pc_saved_game_backup/repo_manager/Gemfile +12 -0
- data/examples/pc_saved_game_backup/repo_manager/Gemfile.lock +66 -0
- data/examples/pc_saved_game_backup/repo_manager/assets/.gitignore +2 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/aruba.rb +15 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/env.rb +11 -0
- data/examples/pc_saved_game_backup/repo_manager/features/support/steps.rb +3 -0
- data/examples/pc_saved_game_backup/repo_manager/features/tasks/update.feature +144 -0
- data/examples/pc_saved_game_backup/repo_manager/global/default/asset.conf +2 -0
- data/examples/pc_saved_game_backup/repo_manager/repo.conf +64 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/.gitignore +0 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/remote.rb +57 -0
- data/examples/pc_saved_game_backup/repo_manager/tasks/update.rb +65 -0
- data/examples/pc_saved_game_backup/saved_games/hearts/save1 +1 -0
- data/examples/pc_saved_game_backup/saved_games/hearts/save2 +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/my_profile.ini +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/saves/save1 +1 -0
- data/examples/pc_saved_game_backup/saved_games/mines/saves/save2 +1 -0
- data/features/actions/git.feature +296 -0
- data/features/actions/help.feature +53 -0
- data/features/actions/list.feature +624 -0
- data/features/actions/path.feature +195 -0
- data/features/actions/status.feature +261 -0
- data/features/actions/task.feature +127 -0
- data/features/assets/configuration.feature +204 -0
- data/features/assets/rendering.feature +42 -0
- data/features/assets/user_attributes.feature +98 -0
- data/features/bin.feature +42 -0
- data/features/logger.feature +218 -0
- data/features/settings.feature +240 -0
- data/features/support/aruba.rb +15 -0
- data/features/support/env.rb +11 -0
- data/features/support/steps.rb +3 -0
- data/features/tasks/add/asset.feature +178 -0
- data/features/tasks/generate/init.feature +56 -0
- data/lib/repo_manager.rb +36 -0
- data/lib/repo_manager/actions.rb +8 -0
- data/lib/repo_manager/actions/action_helper.rb +39 -0
- data/lib/repo_manager/actions/app_action.rb +30 -0
- data/lib/repo_manager/actions/base_action.rb +296 -0
- data/lib/repo_manager/actions/git_action.rb +113 -0
- data/lib/repo_manager/actions/help_action.rb +52 -0
- data/lib/repo_manager/actions/list_action.rb +123 -0
- data/lib/repo_manager/actions/path_action.rb +22 -0
- data/lib/repo_manager/actions/status_action.rb +192 -0
- data/lib/repo_manager/actions/task_action.rb +71 -0
- data/lib/repo_manager/app.rb +116 -0
- data/lib/repo_manager/assets.rb +3 -0
- data/lib/repo_manager/assets/app_asset.rb +15 -0
- data/lib/repo_manager/assets/asset_accessors.rb +67 -0
- data/lib/repo_manager/assets/asset_configuration.rb +137 -0
- data/lib/repo_manager/assets/asset_manager.rb +72 -0
- data/lib/repo_manager/assets/base_asset.rb +199 -0
- data/lib/repo_manager/assets/repo_asset.rb +30 -0
- data/lib/repo_manager/core.rb +2 -0
- data/lib/repo_manager/core/array.rb +21 -0
- data/lib/repo_manager/core/hash.rb +83 -0
- data/lib/repo_manager/errors.rb +10 -0
- data/lib/repo_manager/extensions/hash.rb +86 -0
- data/lib/repo_manager/git.rb +2 -0
- data/lib/repo_manager/git/lib.rb +69 -0
- data/lib/repo_manager/git/status.rb +196 -0
- data/lib/repo_manager/logger.rb +39 -0
- data/lib/repo_manager/settings.rb +98 -0
- data/lib/repo_manager/tasks.rb +3 -0
- data/lib/repo_manager/tasks/add/asset.rb +213 -0
- data/lib/repo_manager/tasks/generate/init.rb +42 -0
- data/lib/repo_manager/tasks/generate/templates/config/repo.conf.tt +61 -0
- data/lib/repo_manager/tasks/generate/templates/init/assets/.gitignore +0 -0
- data/lib/repo_manager/tasks/generate/templates/init/global/default/asset.conf +2 -0
- data/lib/repo_manager/tasks/generate/templates/init/tasks/.gitignore +0 -0
- data/lib/repo_manager/tasks/task_manager.rb +166 -0
- data/lib/repo_manager/tasks/thor_helper.rb +29 -0
- data/lib/repo_manager/test/asset_steps.rb +19 -0
- data/lib/repo_manager/test/base_steps.rb +152 -0
- data/lib/repo_manager/test/repo_api.rb +41 -0
- data/lib/repo_manager/test/repo_steps.rb +83 -0
- data/lib/repo_manager/test/test_api.rb +88 -0
- data/lib/repo_manager/views.rb +2 -0
- data/lib/repo_manager/views/app_view.rb +15 -0
- data/lib/repo_manager/views/base_view.rb +137 -0
- data/lib/repo_manager/views/templates/css/basic.css +26 -0
- data/lib/repo_manager/views/templates/default.erb +40 -0
- data/lib/repo_manager/views/templates/default.slim +37 -0
- data/lib/repo_manager/views/view_helper.rb +55 -0
- data/repo_manager.gemspec +75 -0
- data/spec/basic_app/actions/action_helper_spec.rb +54 -0
- data/spec/basic_app/assets/base_asset_spec.rb +210 -0
- data/spec/basic_app/core_spec.rb +78 -0
- data/spec/basic_app/settings_spec.rb +64 -0
- data/spec/basic_app/views/view_helper_spec.rb +28 -0
- data/spec/basic_gem/aruba_helper_spec.rb +33 -0
- data/spec/basic_gem/basic_gem_spec.rb +84 -0
- data/spec/basic_gem/gemspec_spec.rb +68 -0
- data/spec/repo_manager/git_spec.rb +31 -0
- data/spec/spec_helper.rb +25 -0
- metadata +472 -0
@@ -0,0 +1,127 @@
|
|
1
|
+
@announce
|
2
|
+
Feature: Invoke external tasks, normally Thor tasks.
|
3
|
+
|
4
|
+
Tasks can be defined by the app and placed in lib/tasks or tasks can be
|
5
|
+
defined by the user and placed in the user tasks folder.
|
6
|
+
|
7
|
+
Examples
|
8
|
+
|
9
|
+
repo task test:init /to/some/folder
|
10
|
+
|
11
|
+
Task action is not required
|
12
|
+
|
13
|
+
repo test:init /to/some/folder
|
14
|
+
|
15
|
+
Add user tasks by specifying folders.tasks in the master config file
|
16
|
+
and add Thor tasks. See background scenario.
|
17
|
+
|
18
|
+
Background: A master configuration file
|
19
|
+
Given a file named "repo.conf" with:
|
20
|
+
"""
|
21
|
+
---
|
22
|
+
options:
|
23
|
+
color : true
|
24
|
+
folders:
|
25
|
+
assets : repo_manager/assets
|
26
|
+
tasks : repo_manager/tasks
|
27
|
+
"""
|
28
|
+
And an empty file named "output/.gitignore"
|
29
|
+
And a file named "repo_manager/tasks/test.rb" with:
|
30
|
+
"""
|
31
|
+
module RepoManager
|
32
|
+
class Test < Thor
|
33
|
+
namespace :test
|
34
|
+
|
35
|
+
desc "init", "a test init task"
|
36
|
+
def init(path)
|
37
|
+
say path
|
38
|
+
return 0
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
"""
|
44
|
+
And a file named "repo_manager/tasks/test.thor" with:
|
45
|
+
"""
|
46
|
+
module RepoManager
|
47
|
+
class TestB < Thor
|
48
|
+
|
49
|
+
desc "hello", "a test hello task"
|
50
|
+
def hello(message)
|
51
|
+
say message
|
52
|
+
return 0
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
57
|
+
"""
|
58
|
+
|
59
|
+
Scenario: Listings available tasks from gem and user task locations
|
60
|
+
When I run `repo task -T --verbose`
|
61
|
+
Then the exit status should be 0
|
62
|
+
And the output should not contain:
|
63
|
+
"""
|
64
|
+
thor generate:configs FOLDER
|
65
|
+
"""
|
66
|
+
And the output should contain:
|
67
|
+
"""
|
68
|
+
repo test:init
|
69
|
+
"""
|
70
|
+
And the output should contain:
|
71
|
+
"""
|
72
|
+
repo repo_manager:test_b:hello
|
73
|
+
"""
|
74
|
+
|
75
|
+
Scenario: Listings available tasks without the 'task' action
|
76
|
+
When I run `repo -T`
|
77
|
+
Then the exit status should be 0
|
78
|
+
And the output should contain:
|
79
|
+
"""
|
80
|
+
repo test:init
|
81
|
+
"""
|
82
|
+
|
83
|
+
Scenario: Show help for a given task
|
84
|
+
When I run `repo task help test:init`
|
85
|
+
Then the exit status should be 0
|
86
|
+
Then the output should contain:
|
87
|
+
"""
|
88
|
+
Usage:
|
89
|
+
repo test:init
|
90
|
+
|
91
|
+
a test init task
|
92
|
+
"""
|
93
|
+
|
94
|
+
Scenario: Show help for a given task without the 'task' action
|
95
|
+
When I run `repo help test:init`
|
96
|
+
Then the exit status should be 0
|
97
|
+
Then the output should contain:
|
98
|
+
"""
|
99
|
+
Usage:
|
100
|
+
repo test:init
|
101
|
+
|
102
|
+
a test init task
|
103
|
+
"""
|
104
|
+
|
105
|
+
Scenario: Successful task run without the 'repo_manager:' namespace
|
106
|
+
When I run `repo task test:init my_path`
|
107
|
+
Then the exit status should be 0
|
108
|
+
Then the output should contain:
|
109
|
+
"""
|
110
|
+
my_path
|
111
|
+
"""
|
112
|
+
|
113
|
+
Scenario: Successful task run without the 'task' action
|
114
|
+
When I run `repo test:init my_path`
|
115
|
+
Then the exit status should be 0
|
116
|
+
Then the output should contain:
|
117
|
+
"""
|
118
|
+
my_path
|
119
|
+
"""
|
120
|
+
|
121
|
+
Scenario: Successful task run with the 'repo_manager:' namespace
|
122
|
+
When I run `repo task repo_manager:test_b:hello my_message`
|
123
|
+
Then the exit status should be 0
|
124
|
+
Then the output should contain:
|
125
|
+
"""
|
126
|
+
my_message
|
127
|
+
"""
|
@@ -0,0 +1,204 @@
|
|
1
|
+
@announce
|
2
|
+
Feature: Asset configuration
|
3
|
+
|
4
|
+
The application should process and manage asset configuration via YAML.
|
5
|
+
|
6
|
+
A list of assets can be found by globbing '*/' in the data folder to return a
|
7
|
+
list of folder names.
|
8
|
+
|
9
|
+
For each asset in the data folder, initialize an array of assets by passing
|
10
|
+
in the user asset config filename and a hash of options
|
11
|
+
|
12
|
+
Example general settings repo.conf
|
13
|
+
|
14
|
+
---
|
15
|
+
options:
|
16
|
+
color : true
|
17
|
+
user:
|
18
|
+
my_str : "user defined string"
|
19
|
+
my_int : 12345
|
20
|
+
folders:
|
21
|
+
assets : data
|
22
|
+
|
23
|
+
Example with parent: config/data/assets/asset1/asset.conf:
|
24
|
+
|
25
|
+
---
|
26
|
+
parent : ../../global/assets/asset1
|
27
|
+
acquired : 01/01/2011
|
28
|
+
launched : 01/01/2011
|
29
|
+
|
30
|
+
Example without parent: config/data/assets/asset1/asset.conf:
|
31
|
+
|
32
|
+
---
|
33
|
+
acquired : 01/01/2011
|
34
|
+
launched : 01/01/2011
|
35
|
+
|
36
|
+
Scenario: Specify assets folder explicity
|
37
|
+
Given a file named "repo.conf" with:
|
38
|
+
"""
|
39
|
+
---
|
40
|
+
folders:
|
41
|
+
assets : data/app_assets
|
42
|
+
"""
|
43
|
+
And a file named "data/app_assets/asset1/asset.conf" with:
|
44
|
+
"""
|
45
|
+
---
|
46
|
+
path: user_path
|
47
|
+
"""
|
48
|
+
When I run `repo list --type=app_asset`
|
49
|
+
Then the exit status should be 0
|
50
|
+
And its output should not match /^WARN/
|
51
|
+
Then the output should contain:
|
52
|
+
"""
|
53
|
+
path: user_path
|
54
|
+
"""
|
55
|
+
|
56
|
+
Scenario: Specify assets folder explicity using a subfolder for the config file
|
57
|
+
Given a file named "repo_manager/repo.conf" with:
|
58
|
+
"""
|
59
|
+
---
|
60
|
+
folders:
|
61
|
+
assets : data/app_assets
|
62
|
+
"""
|
63
|
+
And a file named "repo_manager/data/app_assets/asset1/asset.conf" with:
|
64
|
+
"""
|
65
|
+
---
|
66
|
+
path: user_path
|
67
|
+
"""
|
68
|
+
When I run `repo list --type=app_asset`
|
69
|
+
Then the exit status should be 0
|
70
|
+
And its output should not match /^WARN/
|
71
|
+
Then the output should contain:
|
72
|
+
"""
|
73
|
+
path: user_path
|
74
|
+
"""
|
75
|
+
|
76
|
+
Scenario: Assets folder determined by convention, relative to config file, by convention the folder name is 'assets'
|
77
|
+
Given a file named "repo.conf" with:
|
78
|
+
"""
|
79
|
+
---
|
80
|
+
options:
|
81
|
+
color : AUTO
|
82
|
+
"""
|
83
|
+
And a file named "assets/asset1/asset.conf" with:
|
84
|
+
"""
|
85
|
+
---
|
86
|
+
path: user_path
|
87
|
+
"""
|
88
|
+
When I run `repo list --type=app_asset`
|
89
|
+
Then the exit status should be 0
|
90
|
+
And its output should not match /^WARN/
|
91
|
+
Then the output should contain:
|
92
|
+
"""
|
93
|
+
path: user_path
|
94
|
+
"""
|
95
|
+
|
96
|
+
Scenario: Config file is located in a subfolder
|
97
|
+
Given a file named "repo_manager/repo.conf" with:
|
98
|
+
"""
|
99
|
+
---
|
100
|
+
options:
|
101
|
+
color : AUTO
|
102
|
+
"""
|
103
|
+
And a file named "repo_manager/assets/asset1/asset.conf" with:
|
104
|
+
"""
|
105
|
+
---
|
106
|
+
path: user_path
|
107
|
+
"""
|
108
|
+
When I run `repo list --type=app_asset`
|
109
|
+
Then the exit status should be 0
|
110
|
+
And its output should not match /^WARN/
|
111
|
+
Then the output should contain:
|
112
|
+
"""
|
113
|
+
path: user_path
|
114
|
+
"""
|
115
|
+
|
116
|
+
Scenario: Parent configuration fills in missing items with ERB evaluation
|
117
|
+
Given a file named "repo.conf" with:
|
118
|
+
"""
|
119
|
+
---
|
120
|
+
folders:
|
121
|
+
assets : data/app_assets
|
122
|
+
"""
|
123
|
+
And the folder "global/app_assets" with the following asset configurations:
|
124
|
+
| name | path | icon |
|
125
|
+
| default | set_by_parent | based_on_<%= name %>.png |
|
126
|
+
And the folder "data/app_assets" with the following asset configurations:
|
127
|
+
| name | parent | binary |
|
128
|
+
| asset1 | ../../global/app_assets/default | path_to/bin.exe |
|
129
|
+
When I run `repo list --type=app_asset`
|
130
|
+
Then the exit status should be 0
|
131
|
+
And its output should not match /^WARN/
|
132
|
+
And the output should contain:
|
133
|
+
"""
|
134
|
+
path: set_by_parent
|
135
|
+
"""
|
136
|
+
And the output should contain:
|
137
|
+
"""
|
138
|
+
icon: based_on_asset1.png
|
139
|
+
"""
|
140
|
+
|
141
|
+
Scenario: User configuration file overrides global configuration file
|
142
|
+
Given a file named "repo.conf" with:
|
143
|
+
"""
|
144
|
+
---
|
145
|
+
folders:
|
146
|
+
assets : data/app_assets
|
147
|
+
"""
|
148
|
+
And the folder "global/app_assets" with the following asset configurations:
|
149
|
+
| name | path |
|
150
|
+
| default | set_by_parent |
|
151
|
+
And the folder "data/app_assets" with the following asset configurations:
|
152
|
+
| name | path | parent | binary |
|
153
|
+
| asset1 | set_by_user | ../../global/app_assets/default | path_to/bin.exe |
|
154
|
+
When I run `repo list --type=app_asset`
|
155
|
+
Then the exit status should be 0
|
156
|
+
And its output should not match /^WARN/
|
157
|
+
And the output should contain:
|
158
|
+
"""
|
159
|
+
path: set_by_user
|
160
|
+
"""
|
161
|
+
And the output should not contain:
|
162
|
+
"""
|
163
|
+
path: set_by_parent
|
164
|
+
"""
|
165
|
+
|
166
|
+
Scenario: Parent configuration missing
|
167
|
+
Given a file named "repo.conf" with:
|
168
|
+
"""
|
169
|
+
---
|
170
|
+
folders:
|
171
|
+
assets : data/app_assets
|
172
|
+
"""
|
173
|
+
And the folder "data/app_assets" with the following asset configurations:
|
174
|
+
| name | parent | path |
|
175
|
+
| asset1 | ../../global/app_assets/default | path_to/bin.exe |
|
176
|
+
When I run `repo list --type=app_asset`
|
177
|
+
Then the exit status should be 0
|
178
|
+
And its output should not match /^WARN/
|
179
|
+
And the output should contain:
|
180
|
+
"""
|
181
|
+
path: path_to/bin.exe
|
182
|
+
"""
|
183
|
+
|
184
|
+
Scenario: Parent configuration blank
|
185
|
+
Given a file named "repo.conf" with:
|
186
|
+
"""
|
187
|
+
---
|
188
|
+
folders:
|
189
|
+
assets : assets
|
190
|
+
"""
|
191
|
+
And the folder "assets" with the following asset configurations:
|
192
|
+
| name | parent | path |
|
193
|
+
| asset1 | ../global/default | path_to/bin.exe |
|
194
|
+
And a file named "global/default/asset.conf" with:
|
195
|
+
"""
|
196
|
+
---
|
197
|
+
"""
|
198
|
+
When I run `repo list --verbose --type=app_asset`
|
199
|
+
Then the exit status should be 0
|
200
|
+
And its output should not match /^WARN/
|
201
|
+
And its output should contain:
|
202
|
+
"""
|
203
|
+
path: path_to/bin.exe
|
204
|
+
"""
|
@@ -0,0 +1,42 @@
|
|
1
|
+
@announce
|
2
|
+
Feature: Asset template rendering
|
3
|
+
|
4
|
+
Assets should render Mustache variables. When listing to STDOUT without a
|
5
|
+
template, the raw attribute will be shown.
|
6
|
+
|
7
|
+
Background: Empty configuration file so that we don't read global config locations
|
8
|
+
Given an empty file named "repo.conf"
|
9
|
+
|
10
|
+
Scenario: Render templates to STDOUT
|
11
|
+
Given a file named "test.erb" with:
|
12
|
+
"""
|
13
|
+
<% require 'repo_manager/actions/action_helper' -%>
|
14
|
+
<% extend RepoManager::ActionHelper -%>
|
15
|
+
|
16
|
+
<% for item in items do -%>
|
17
|
+
<%= item.name %>:
|
18
|
+
---
|
19
|
+
path: <%= relative_path(item.path) %>
|
20
|
+
<% end -%>
|
21
|
+
"""
|
22
|
+
And a file named "assets/asset1/asset.conf" with:
|
23
|
+
"""
|
24
|
+
---
|
25
|
+
path: folder/{{name}}/another_folder
|
26
|
+
"""
|
27
|
+
When I run `repo list --type=app_asset`
|
28
|
+
Then the exit status should be 0
|
29
|
+
And its output should contain:
|
30
|
+
"""
|
31
|
+
path: folder/{{name}}/another_folder
|
32
|
+
"""
|
33
|
+
When I run `repo list --template=test.erb --type=app_asset`
|
34
|
+
Then the exit status should be 0
|
35
|
+
And its output should not contain:
|
36
|
+
"""
|
37
|
+
path: folder/{{name}}/another_folder
|
38
|
+
"""
|
39
|
+
And its output should contain:
|
40
|
+
"""
|
41
|
+
path: ./folder/asset1/another_folder
|
42
|
+
"""
|
@@ -0,0 +1,98 @@
|
|
1
|
+
@announce
|
2
|
+
Feature: Create user defined attributes
|
3
|
+
|
4
|
+
The user can create an array of attribute names that will
|
5
|
+
be converted into read/write accessors at instantiation. This
|
6
|
+
allows using user defined attributes via Mustache tags in user
|
7
|
+
defined tasks.
|
8
|
+
|
9
|
+
Example defining user attributes
|
10
|
+
|
11
|
+
---
|
12
|
+
user_attributes:
|
13
|
+
- my_folder
|
14
|
+
my_folder: folder name
|
15
|
+
path: folder/{{my_folder}}/another_folder
|
16
|
+
|
17
|
+
For simple variable replacement, there is no need to predefine the
|
18
|
+
Mustache tags variables.
|
19
|
+
|
20
|
+
Example ad hoc user attributes
|
21
|
+
|
22
|
+
---
|
23
|
+
my_folder: folder name
|
24
|
+
path: folder/{{my_folder}}/another_folder
|
25
|
+
|
26
|
+
Background: Master config file and ERB template
|
27
|
+
Given a file named "repo.conf" with:
|
28
|
+
"""
|
29
|
+
---
|
30
|
+
folders:
|
31
|
+
assets : assets
|
32
|
+
"""
|
33
|
+
And a file named "test.erb" with:
|
34
|
+
"""
|
35
|
+
<% require 'repo_manager/actions/action_helper' -%>
|
36
|
+
<% extend RepoManager::ActionHelper -%>
|
37
|
+
|
38
|
+
<% for item in items do -%>
|
39
|
+
<%= item.name %>:
|
40
|
+
---
|
41
|
+
path: <%= relative_path(item.path) %>
|
42
|
+
<% end -%>
|
43
|
+
"""
|
44
|
+
|
45
|
+
Scenario: Using user attributes with pre-defined read/write accessors
|
46
|
+
Given a file named "global/assets/default/asset.conf" with:
|
47
|
+
"""
|
48
|
+
---
|
49
|
+
user_attributes:
|
50
|
+
- my_folder
|
51
|
+
"""
|
52
|
+
And a file named "assets/asset1/asset.conf" with:
|
53
|
+
"""
|
54
|
+
---
|
55
|
+
parent: ../global/assets/default
|
56
|
+
my_folder: folder name
|
57
|
+
path: folder/{{my_folder}}/another_folder
|
58
|
+
"""
|
59
|
+
When I run `repo list --type=app_asset --verbose`
|
60
|
+
Then the exit status should be 0
|
61
|
+
And its output should contain:
|
62
|
+
"""
|
63
|
+
path: folder/{{my_folder}}/another_folder
|
64
|
+
"""
|
65
|
+
When I run `repo list --template=test.erb --type=app_asset --verbose`
|
66
|
+
Then the exit status should be 0
|
67
|
+
And its output should not contain:
|
68
|
+
"""
|
69
|
+
path: folder/{{my_folder}}/another_folder
|
70
|
+
"""
|
71
|
+
And its output should contain:
|
72
|
+
"""
|
73
|
+
path: ./folder/folder name/another_folder
|
74
|
+
"""
|
75
|
+
|
76
|
+
Scenario: Using user attributes with ad hoc template variable expansion
|
77
|
+
Given a file named "assets/asset1/asset.conf" with:
|
78
|
+
"""
|
79
|
+
---
|
80
|
+
my_folder: folder name
|
81
|
+
path: folder/{{my_folder}}/another_folder
|
82
|
+
"""
|
83
|
+
When I run `repo list --type=app_asset --verbose`
|
84
|
+
Then the exit status should be 0
|
85
|
+
And its output should contain:
|
86
|
+
"""
|
87
|
+
path: folder/{{my_folder}}/another_folder
|
88
|
+
"""
|
89
|
+
When I run `repo list --template=test.erb --type=app_asset --verbose`
|
90
|
+
Then the exit status should be 0
|
91
|
+
And its output should not contain:
|
92
|
+
"""
|
93
|
+
path: folder/{{my_folder}}/another_folder
|
94
|
+
"""
|
95
|
+
And its output should contain:
|
96
|
+
"""
|
97
|
+
path: ./folder/folder name/another_folder
|
98
|
+
"""
|