roku_builder 3.12.5 → 3.12.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/README.md +3 -2
- data/config.json.example +1 -1
- data/config.json.min +10 -0
- data/lib/roku_builder/config_manager.rb +15 -13
- data/lib/roku_builder/config_parser.rb +58 -39
- data/lib/roku_builder/config_validator.rb +2 -3
- data/lib/roku_builder/controller.rb +2 -2
- data/lib/roku_builder/stager.rb +5 -9
- data/lib/roku_builder/version.rb +1 -1
- data/test/roku_builder/test_config_manager.rb +0 -7
- data/test/roku_builder/test_config_parser.rb +49 -3
- data/test/roku_builder/test_config_validator.rb +1 -1
- data/test/roku_builder/test_stager.rb +12 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ef20c9d8920488e1f6102fbab02b28ccbb80673
|
4
|
+
data.tar.gz: cd1b32fbf7fb6ab5fdd115c7668011018e0f57e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64bc408f43e49d29d271f6dc4a6d5caf455a2a66e6e14616cc1b2ee374df10bcfc31236a2a8d9baf854e9728c753a3f2255fb5916717cc21234f70c5436c4e3f
|
7
|
+
data.tar.gz: fa56cde1eaf03aa4908c8ff240f149847176a026dbe97ad556c563a354e67e3486f3e791ea1cc9c1fe4b5f1cca0aada1ac315d0ddddbd11ef925d1482499f86f
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
roku_builder (3.12.
|
4
|
+
roku_builder (3.12.6)
|
5
5
|
faraday (~> 0.11)
|
6
6
|
faraday-digestauth (~> 0.2)
|
7
7
|
git (~> 1.3)
|
@@ -64,7 +64,7 @@ GEM
|
|
64
64
|
net-http-digest_auth (1.4.1)
|
65
65
|
net-ping (2.0.1)
|
66
66
|
net-telnet (0.1.1)
|
67
|
-
nokogiri (1.7.
|
67
|
+
nokogiri (1.7.1)
|
68
68
|
mini_portile2 (~> 2.1.0)
|
69
69
|
notiffany (0.1.1)
|
70
70
|
nenv (~> 0.1)
|
data/README.md
CHANGED
@@ -52,8 +52,9 @@ following command:
|
|
52
52
|
$ roku --configure
|
53
53
|
|
54
54
|
This will create the file '~/.roku_config.json' with a default configuration.
|
55
|
-
Edit this file to add appropriate values.
|
56
|
-
|
55
|
+
Edit this file to add appropriate values. A configuration example with the
|
56
|
+
minimum require fields can be found in this project called 'config.json.min'.
|
57
|
+
The following are default configuration options:
|
57
58
|
|
58
59
|
##### Top Level Configuration
|
59
60
|
|
data/config.json.example
CHANGED
data/config.json.min
ADDED
@@ -49,20 +49,22 @@ module RokuBuilder
|
|
49
49
|
config = build_config(config: config, logger: logger)
|
50
50
|
return nil unless config
|
51
51
|
config[:devices][:default] = config[:devices][:default].to_sym
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
52
|
+
if config[:projects]
|
53
|
+
config[:projects][:default] = config[:projects][:default].to_sym
|
54
|
+
config[:projects].each_pair do |key,value|
|
55
|
+
next if key == :default
|
56
|
+
next if key == :project_dir
|
57
|
+
if value[:stage_method]
|
58
|
+
value[:stage_method] = value[:stage_method].to_sym
|
59
|
+
end
|
58
60
|
end
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
61
|
+
config[:projects].each_pair do |key, value|
|
62
|
+
unless key == :default or key == :project_dir
|
63
|
+
if value[:parent] and config[:projects][value[:parent].to_sym]
|
64
|
+
new_value = config[:projects][value[:parent].to_sym]
|
65
|
+
new_value = new_value.deep_merge value
|
66
|
+
config[:projects][key] = new_value
|
67
|
+
end
|
66
68
|
end
|
67
69
|
end
|
68
70
|
end
|
@@ -19,7 +19,7 @@ module RokuBuilder
|
|
19
19
|
options[:device] = config[:devices][:default]
|
20
20
|
end
|
21
21
|
#set project
|
22
|
-
setup_project(config: config, options: options)
|
22
|
+
setup_project(config: config, options: options) if project_required(options: options)
|
23
23
|
#set outfile
|
24
24
|
setup_outfile(options: options, configs: configs)
|
25
25
|
# Create Device Config
|
@@ -30,10 +30,11 @@ module RokuBuilder
|
|
30
30
|
return [project_config, nil, nil] unless project_config.class == Hash
|
31
31
|
configs[:project_config] = project_config
|
32
32
|
stage = setup_stage_config(configs: configs, options: options, logger: logger)[1]
|
33
|
-
return [UNKNOWN_STAGE, nil, nil]
|
33
|
+
return [UNKNOWN_STAGE, nil, nil] if stage.nil? and project_required(options: options)
|
34
34
|
setup_sideload_config(configs: configs, options: options)
|
35
35
|
setup_package_config(config: config, configs: configs, options: options, stage: stage)
|
36
36
|
setup_active_configs(config: config, configs: configs, options: options)
|
37
|
+
setup_manifest_configs(configs: configs, options: options)
|
37
38
|
setup_simple_configs(config: config, configs: configs, options: options)
|
38
39
|
return [SUCCESS, configs]
|
39
40
|
end
|
@@ -109,7 +110,7 @@ module RokuBuilder
|
|
109
110
|
files: nil,
|
110
111
|
stage_method: :current
|
111
112
|
}
|
112
|
-
|
113
|
+
elsif project_required(options: options)
|
113
114
|
project_config = config[:projects][options[:project].to_sym]
|
114
115
|
return UNKNOWN_PROJECT unless project_config
|
115
116
|
if config[:projects][:project_dir]
|
@@ -121,34 +122,43 @@ module RokuBuilder
|
|
121
122
|
end
|
122
123
|
private_class_method :setup_project_config
|
123
124
|
|
125
|
+
# Determine whether a project is required
|
126
|
+
# @param options [Hash] The options hash
|
127
|
+
# @return [Boolean] Whether a project is required or not
|
128
|
+
def self.project_required(options:)
|
129
|
+
has_source_command = (Controller.source_commands & options.keys).count > 0
|
130
|
+
non_project_source = ([:current, :in] & options.keys).count > 0
|
131
|
+
has_source_command and not non_project_source
|
132
|
+
end
|
133
|
+
private_class_method :project_required
|
134
|
+
|
124
135
|
# Setup the project stage config
|
125
136
|
# @param configs [Hash] The loaded config hash
|
126
137
|
# @param options [Hash] The options hash
|
127
138
|
# @return [Hash] The stage config hash
|
128
139
|
def self.setup_stage_config(configs:, options:, logger:)
|
129
140
|
stage_config = {logger: logger}
|
141
|
+
stage_config[:method] = ([:in, :current] & options.keys).first
|
130
142
|
stage = options[:stage].to_sym if options[:stage]
|
131
|
-
|
132
|
-
|
143
|
+
if project_required(options: options)
|
144
|
+
project_config = configs[:project_config]
|
133
145
|
stage ||= project_config[:stages].keys[0].to_sym
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
+
options[:stage] = stage
|
147
|
+
stage_config[:root_dir] = project_config[:directory]
|
148
|
+
stage_config[:method] = project_config[:stage_method]
|
149
|
+
stage_config[:method] ||= :git
|
150
|
+
case stage_config[:method]
|
151
|
+
when :git
|
152
|
+
if options[:ref]
|
153
|
+
stage_config[:key] = options[:ref]
|
154
|
+
else
|
155
|
+
return [nil, nil] unless project_config[:stages][stage]
|
156
|
+
stage_config[:key] = project_config[:stages][stage][:branch]
|
157
|
+
end
|
158
|
+
when :script
|
146
159
|
return [nil, nil] unless project_config[:stages][stage]
|
147
|
-
stage_config[:key] = project_config[:stages][stage][:
|
160
|
+
stage_config[:key] = project_config[:stages][stage][:script]
|
148
161
|
end
|
149
|
-
when :script
|
150
|
-
return [nil, nil] unless project_config[:stages][stage]
|
151
|
-
stage_config[:key] = project_config[:stages][stage][:script]
|
152
162
|
end
|
153
163
|
configs[:stage_config] = stage_config
|
154
164
|
configs[:stage] = stage
|
@@ -160,16 +170,18 @@ module RokuBuilder
|
|
160
170
|
# @param options [Hash] The options hash
|
161
171
|
# @param branch [String] the branch to sideload
|
162
172
|
def self.setup_sideload_config(configs:, options:)
|
163
|
-
root_dir =
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
173
|
+
root_dir, content = nil, nil
|
174
|
+
if configs[:project_config]
|
175
|
+
root_dir = configs[:project_config][:directory]
|
176
|
+
content = {
|
177
|
+
folders: configs[:project_config][:folders],
|
178
|
+
files: configs[:project_config][:files],
|
179
|
+
}
|
180
|
+
all_commands = options.keys & Controller.commands
|
181
|
+
if options[:exclude] or Controller.exclude_commands.include?(all_commands.first)
|
182
|
+
content[:excludes] = configs[:project_config][:excludes]
|
183
|
+
end
|
171
184
|
end
|
172
|
-
|
173
185
|
# Create Sideload Config
|
174
186
|
configs[:sideload_config] = {
|
175
187
|
update_manifest: options[:update_manifest],
|
@@ -177,12 +189,8 @@ module RokuBuilder
|
|
177
189
|
content: content
|
178
190
|
}
|
179
191
|
# Create Build Config
|
180
|
-
configs[:build_config] = {
|
181
|
-
|
182
|
-
}
|
183
|
-
configs[:init_params][:loader] = {
|
184
|
-
root_dir: root_dir
|
185
|
-
}
|
192
|
+
configs[:build_config] = { content: content }
|
193
|
+
configs[:init_params][:loader] = { root_dir: root_dir }
|
186
194
|
end
|
187
195
|
private_class_method :setup_sideload_config
|
188
196
|
|
@@ -249,15 +257,26 @@ module RokuBuilder
|
|
249
257
|
end
|
250
258
|
private_class_method :setup_active_configs
|
251
259
|
|
252
|
-
# Setup
|
260
|
+
# Setup manifest configs
|
253
261
|
# @param configs [Hash] The parsed configs hash
|
254
262
|
# @param options [Hash] The options hash
|
255
263
|
# @param logger [Logger] System logger
|
256
|
-
def self.
|
264
|
+
def self.setup_manifest_configs(configs:, options:)
|
257
265
|
# Create Manifest Config
|
266
|
+
root_dir = configs[:project_config][:directory] if configs[:project_config]
|
267
|
+
root_dir = options[:in] if options[:in]
|
268
|
+
root_dir = Pathname.pwd.to_s if options[:current]
|
258
269
|
configs[:manifest_config] = {
|
259
|
-
root_dir:
|
270
|
+
root_dir: root_dir
|
260
271
|
}
|
272
|
+
end
|
273
|
+
private_class_method :setup_manifest_configs
|
274
|
+
|
275
|
+
# Setup other configs
|
276
|
+
# @param configs [Hash] The parsed configs hash
|
277
|
+
# @param options [Hash] The options hash
|
278
|
+
# @param logger [Logger] System logger
|
279
|
+
def self.setup_simple_configs(config:, configs:, options:)
|
261
280
|
# Create Deeplink Config
|
262
281
|
configs[:deeplink_config] = {options: options[:deeplink]}
|
263
282
|
if options[:app_id]
|
@@ -5,7 +5,7 @@ module RokuBuilder
|
|
5
5
|
MISSING_DEVICES = 1
|
6
6
|
MISSING_DEVICES_DEFAULT = 2
|
7
7
|
DEVICE_DEFAULT_BAD = 3
|
8
|
-
|
8
|
+
# = 4
|
9
9
|
MISSING_PROJECTS_DEFAULT = 5
|
10
10
|
PROJECTS_DEFAULT_BAD = 6
|
11
11
|
DEVICE_MISSING_IP = 7
|
@@ -69,7 +69,7 @@ module RokuBuilder
|
|
69
69
|
"Devices config is missing.",
|
70
70
|
"Devices default is missing.",
|
71
71
|
"Devices default is not a hash.",
|
72
|
-
"
|
72
|
+
"",
|
73
73
|
"Projects default is missing.", #5
|
74
74
|
"Projects default is not a hash.",
|
75
75
|
"A device config is missing its IP address.",
|
@@ -101,7 +101,6 @@ module RokuBuilder
|
|
101
101
|
[MISSING_DEVICES, !config[:devices]],
|
102
102
|
[MISSING_DEVICES_DEFAULT, (config[:devices] and !config[:devices][:default])],
|
103
103
|
[DEVICE_DEFAULT_BAD, (config[:devices] and config[:devices][:default] and !config[:devices][:default].is_a?(Symbol))],
|
104
|
-
[MISSING_PROJECTS, (!config[:projects])],
|
105
104
|
[MISSING_PROJECTS_DEFAULT, (config[:projects] and !config[:projects][:default])],
|
106
105
|
[MISSING_PROJECTS_DEFAULT, (config[:projects] and config[:projects][:default] == "<project id>".to_sym)],
|
107
106
|
[PROJECTS_DEFAULT_BAD, (config[:projects] and config[:projects][:default] and !config[:projects][:default].is_a?(Symbol))]
|
@@ -184,7 +184,7 @@ module RokuBuilder
|
|
184
184
|
# List of depricated options
|
185
185
|
# @return [Hash] Hash of depricated options and the warning message for each
|
186
186
|
def self.depricated_options
|
187
|
-
{deeplink_depricated: "-L and --deeplink are depricated. Use -o
|
187
|
+
{deeplink_depricated: "-L and --deeplink are depricated. Use -o or --deeplink-options." }
|
188
188
|
end
|
189
189
|
|
190
190
|
# List of source options
|
@@ -196,7 +196,7 @@ module RokuBuilder
|
|
196
196
|
# List of commands requiring a source option
|
197
197
|
# @return [Array<Symbol>] List of command symbols that require a source in the options hash
|
198
198
|
def self.source_commands
|
199
|
-
[:sideload, :package, :test, :build, :key]
|
199
|
+
[:sideload, :package, :test, :build, :key, :update]
|
200
200
|
end
|
201
201
|
|
202
202
|
# List of commands the activate the exclude files
|
data/lib/roku_builder/stager.rb
CHANGED
@@ -5,7 +5,7 @@ module RokuBuilder
|
|
5
5
|
# Change stage of roku application
|
6
6
|
class Stager
|
7
7
|
|
8
|
-
def initialize(key: nil, method:, root_dir
|
8
|
+
def initialize(key: nil, method:, root_dir: nil, logger:)
|
9
9
|
@method = method
|
10
10
|
@key = key
|
11
11
|
@root_dir = root_dir
|
@@ -25,11 +25,9 @@ module RokuBuilder
|
|
25
25
|
# @return [Boolean] whether the staging was successful or not
|
26
26
|
def stage
|
27
27
|
@orginal_directory = Dir.pwd
|
28
|
-
Dir.chdir(@root_dir) unless @root_dir == @orginal_directory
|
28
|
+
Dir.chdir(@root_dir) unless @root_dir.nil? or @root_dir == @orginal_directory
|
29
29
|
case @method
|
30
|
-
when :current
|
31
|
-
# Do Nothing
|
32
|
-
when :working
|
30
|
+
when :current, :in, :working
|
33
31
|
# Do Nothing
|
34
32
|
when :git
|
35
33
|
begin
|
@@ -48,12 +46,10 @@ module RokuBuilder
|
|
48
46
|
# @return [Boolean] whether the revert was successful or not
|
49
47
|
def unstage
|
50
48
|
@orginal_directory ||= Dir.pwd
|
51
|
-
Dir.chdir(@root_dir) unless @root_dir == @orginal_directory
|
49
|
+
Dir.chdir(@root_dir) unless @root_dir.nil? or @root_dir == @orginal_directory
|
52
50
|
unstage_success = true
|
53
51
|
case @method
|
54
|
-
when :current
|
55
|
-
# Do Nothing
|
56
|
-
when :working
|
52
|
+
when :current, :in, :working
|
57
53
|
# Do Nothing
|
58
54
|
when :git
|
59
55
|
begin
|
data/lib/roku_builder/version.rb
CHANGED
@@ -96,13 +96,6 @@ class ConfigManagerTest < Minitest::Test
|
|
96
96
|
assert_nil config
|
97
97
|
assert_nil configs
|
98
98
|
|
99
|
-
# Test Unknown Project
|
100
|
-
options = {validate: true, project: :bad, config: target_config}
|
101
|
-
code, config, configs = RokuBuilder::ConfigManager.load_config(options: options, logger: logger)
|
102
|
-
assert_equal RokuBuilder::UNKNOWN_PROJECT, code
|
103
|
-
assert_nil config
|
104
|
-
assert_nil configs
|
105
|
-
|
106
99
|
# Test Depricated Config
|
107
100
|
options = {validate: true, stage: 'production', config: target_config}
|
108
101
|
RokuBuilder::ConfigValidator.stub(:validate_config, [-1]) do
|
@@ -10,6 +10,7 @@ class ConfigParserTest < Minitest::Test
|
|
10
10
|
stage: 'production',
|
11
11
|
update_manifest: false,
|
12
12
|
fetch: false,
|
13
|
+
sideload: true
|
13
14
|
}
|
14
15
|
config = good_config
|
15
16
|
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
@@ -19,6 +20,47 @@ class ConfigParserTest < Minitest::Test
|
|
19
20
|
assert_equal "/dev/null", configs[:manifest_config][:root_dir]
|
20
21
|
end
|
21
22
|
|
23
|
+
def test_manifest_config_in
|
24
|
+
logger = Logger.new("/dev/null")
|
25
|
+
options = {
|
26
|
+
config: File.expand_path(File.join(File.dirname(__FILE__), "test_files", "controller_config_test", "valid_config.json")),
|
27
|
+
in: "/dev/null/infile",
|
28
|
+
update_manifest: false,
|
29
|
+
fetch: false,
|
30
|
+
sideload: true
|
31
|
+
}
|
32
|
+
config = good_config
|
33
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
34
|
+
|
35
|
+
assert_equal RokuBuilder::SUCCESS, code
|
36
|
+
assert_equal Hash, config.class
|
37
|
+
assert_equal "/dev/null/infile", configs[:manifest_config][:root_dir]
|
38
|
+
assert_equal :in, configs[:stage_config][:method]
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_manifest_config_current
|
42
|
+
logger = Logger.new("/dev/null")
|
43
|
+
options = {
|
44
|
+
config: File.expand_path(File.join(File.dirname(__FILE__), "test_files", "controller_config_test", "valid_config.json")),
|
45
|
+
current: true,
|
46
|
+
update_manifest: false,
|
47
|
+
fetch: false,
|
48
|
+
sideload: true
|
49
|
+
}
|
50
|
+
code, configs = nil
|
51
|
+
config = good_config
|
52
|
+
Pathname.stub(:pwd, "/dev/null/infile") do
|
53
|
+
File.stub(:exist?, true) do
|
54
|
+
code, configs = RokuBuilder::ConfigParser.parse_config(options: options, config: config, logger: logger)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
assert_equal RokuBuilder::SUCCESS, code
|
59
|
+
assert_equal Hash, config.class
|
60
|
+
assert_equal "/dev/null/infile", configs[:manifest_config][:root_dir]
|
61
|
+
assert_equal :current, configs[:stage_config][:method]
|
62
|
+
end
|
63
|
+
|
22
64
|
def test_setup_project_config_current
|
23
65
|
args = {
|
24
66
|
config: {},
|
@@ -37,7 +79,7 @@ class ConfigParserTest < Minitest::Test
|
|
37
79
|
def test_setup_stage_config_script
|
38
80
|
args = {
|
39
81
|
configs: {project_config: {directory: "/tmp", stage_method: :script, stages: {production: {script: "script"}}}},
|
40
|
-
options: {stage: "production"},
|
82
|
+
options: {stage: "production", sideload: true},
|
41
83
|
logger: Logger.new("/dev/null")
|
42
84
|
}
|
43
85
|
config = RokuBuilder::ConfigParser.send(:setup_stage_config, **args)[0]
|
@@ -47,7 +89,7 @@ class ConfigParserTest < Minitest::Test
|
|
47
89
|
def test_setup_stage_config_git_ref
|
48
90
|
args = {
|
49
91
|
configs: {project_config: {directory: "/tmp", stage_method: :git, }},
|
50
|
-
options: {stage: "production", ref: "git-ref"},
|
92
|
+
options: {stage: "production", ref: "git-ref", sideload: true},
|
51
93
|
logger: Logger.new("/dev/null")
|
52
94
|
}
|
53
95
|
config = RokuBuilder::ConfigParser.send(:setup_stage_config, **args)[0]
|
@@ -61,6 +103,7 @@ class ConfigParserTest < Minitest::Test
|
|
61
103
|
stage: 'production',
|
62
104
|
update_manifest: false,
|
63
105
|
fetch: false,
|
106
|
+
sideload: true
|
64
107
|
}
|
65
108
|
config = good_config
|
66
109
|
|
@@ -78,7 +121,9 @@ class ConfigParserTest < Minitest::Test
|
|
78
121
|
|
79
122
|
def test_manifest_config_project_directory
|
80
123
|
logger = Logger.new("/dev/null")
|
81
|
-
options = {
|
124
|
+
options = {
|
125
|
+
sideload: true
|
126
|
+
}
|
82
127
|
config = good_config
|
83
128
|
config[:projects][:project_dir] = "/tmp"
|
84
129
|
config[:projects][:project1][:directory] = "project1"
|
@@ -102,6 +147,7 @@ class ConfigParserTest < Minitest::Test
|
|
102
147
|
stage: 'production',
|
103
148
|
update_manifest: false,
|
104
149
|
fetch: false,
|
150
|
+
sideload: true
|
105
151
|
}
|
106
152
|
config = good_config
|
107
153
|
config[:projects][:project_dir] = "/tmp"
|
@@ -92,7 +92,7 @@ class ConfigValidatorTest < Minitest::Test
|
|
92
92
|
config = good_config
|
93
93
|
config[:projects] = nil
|
94
94
|
codes = RokuBuilder::ConfigValidator.validate_config(config: config)
|
95
|
-
assert_equal [
|
95
|
+
assert_equal [0], codes
|
96
96
|
end
|
97
97
|
|
98
98
|
def test_config_manager_validate_projects_default
|
@@ -39,6 +39,18 @@ class StagerTest < Minitest::Test
|
|
39
39
|
assert stager.unstage
|
40
40
|
end
|
41
41
|
|
42
|
+
def test_stager_stage_in
|
43
|
+
root_dir = File.join(File.dirname(__FILE__), "test_files", "stager_test")
|
44
|
+
stager_config = {
|
45
|
+
method: :in,
|
46
|
+
root_dir: root_dir,
|
47
|
+
logger: nil
|
48
|
+
}
|
49
|
+
stager = RokuBuilder::Stager.new(**stager_config)
|
50
|
+
assert stager.stage
|
51
|
+
assert stager.unstage
|
52
|
+
end
|
53
|
+
|
42
54
|
def test_stager_stage_git_stash
|
43
55
|
root_dir = File.join(File.dirname(__FILE__), "test_files", "stager_test")
|
44
56
|
branch_name = 'branch'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roku_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.12.
|
4
|
+
version: 3.12.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- greeneca
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -295,6 +295,7 @@ files:
|
|
295
295
|
- README.md
|
296
296
|
- bin/roku
|
297
297
|
- config.json.example
|
298
|
+
- config.json.min
|
298
299
|
- lib/roku_builder.rb
|
299
300
|
- lib/roku_builder/config_manager.rb
|
300
301
|
- lib/roku_builder/config_parser.rb
|