roku_builder 4.23.0 → 4.24.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/roku_builder/config_parser.rb +7 -4
- data/lib/roku_builder/config_validator.rb +1 -2
- data/lib/roku_builder/options.rb +11 -1
- data/lib/roku_builder/plugins/core.rb +1 -1
- data/lib/roku_builder/plugins/indentation_inspector.rb +4 -2
- data/lib/roku_builder/plugins/packager.rb +2 -2
- data/lib/roku_builder/plugins/profiler.rb +3 -4
- data/lib/roku_builder/version.rb +1 -1
- data/lib/roku_builder.rb +1 -1
- data/roku_builder.gemspec +2 -2
- data/test/roku_builder/plugins/test_monitor.rb +2 -2
- data/test/roku_builder/plugins/test_tester.rb +4 -4
- data/test/roku_builder/test_config_validator.rb +0 -7
- data/test/roku_builder/test_logger.rb +1 -1
- data/test/roku_builder/test_options.rb +3 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c8cbcadc9f204bd809c6d0b42ef03c0fe462209c493381d654db1b6c4f51b17
|
4
|
+
data.tar.gz: 51b96420ec3a859d6af35a16989bc5560bd6987c84e8ee3c8bbea4b3159aacbf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2247b8355b001e0151255e0ffb45032b92ff1f5adb6e5ec6c98be8013c142d859d689cd056b1e757cda82445bf77cae19b9ab0775419d2d95041a105cc7643ca
|
7
|
+
data.tar.gz: 3459696d4a13f4faf6000c3b2a17a82e392e3935adcee2a77bb312e1ed06fcdbf1ac6e57b4486198128e26235846126fc3508bd61427d52f3a42ffddb536a990
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# RokuBuilder
|
2
2
|
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/roku_builder.svg)](https://badge.fury.io/rb/roku_builder)
|
4
|
-
[![Build Status](https://travis-ci.org/ViacomInc/roku_builder.svg?branch=master)](https://travis-ci.org/ViacomInc/roku_builder)
|
5
4
|
[![Coverage Status](https://coveralls.io/repos/github/ViacomInc/roku_builder/badge.svg?branch=master)](https://coveralls.io/github/ViacomInc/roku_builder?branch=master)
|
6
5
|
[![Code Climate](https://codeclimate.com/github/ViacomInc/roku_builder/badges/gpa.svg)](https://codeclimate.com/github/ViacomInc/roku_builder)
|
6
|
+
<!-- [![Build Status](https://travis-ci.org/ViacomInc/roku_builder.svg?branch=master)](https://travis-ci.org/ViacomInc/roku_builder) -->
|
7
7
|
|
8
8
|
A tool to help with Roku Development. Assists with many development/deployment
|
9
9
|
tasks. More information can be found in the [wiki](https://github.com/ViacomInc/roku_builder/wiki).
|
@@ -169,14 +169,17 @@ module RokuBuilder
|
|
169
169
|
end
|
170
170
|
|
171
171
|
def setup_key_config
|
172
|
-
if @
|
173
|
-
|
174
|
-
|
175
|
-
|
172
|
+
if @options.keyed_command?
|
173
|
+
if @parsed[:stage]
|
174
|
+
@parsed[:key] = @parsed[:stage][:key]
|
175
|
+
get_global_key_config if @parsed[:key].class == String
|
176
|
+
test_key_file
|
177
|
+
end
|
176
178
|
end
|
177
179
|
end
|
178
180
|
|
179
181
|
def get_global_key_config
|
182
|
+
raise ParseError, "No Keys Configured" unless @config[:keys]
|
180
183
|
raise ParseError, "Unknown Key: #{@parsed[:key]}" unless @config[:keys][@parsed[:key].to_sym]
|
181
184
|
@parsed[:key] = @config[:keys][@parsed[:key].to_sym].dup
|
182
185
|
if @config[:keys][:key_dir] and !@parsed[:key][:keyed_pkg].start_with?("./")
|
@@ -26,7 +26,7 @@ module RokuBuilder
|
|
26
26
|
KEY_MISSING_PATH = 19
|
27
27
|
KEY_MISSING_PASSWORD = 20
|
28
28
|
INVALID_MAPPING_INFO = 21
|
29
|
-
|
29
|
+
# = 22
|
30
30
|
MISSING_STAGE_METHOD = 23
|
31
31
|
|
32
32
|
def initialize(config:)
|
@@ -153,7 +153,6 @@ module RokuBuilder
|
|
153
153
|
errors= [
|
154
154
|
[STAGE_MISSING_BRANCH, (!stage[:branch] and project[:stage_method] == :git)],
|
155
155
|
[STAGE_MISSING_SCRIPT, (!stage[:script] and project[:stage_method] == :script)],
|
156
|
-
[MISSING_KEY, (!!stage[:key] and stage[:key].class == String and (!@config[:keys] or !@config[:keys][stage[:key].to_sym]))]
|
157
156
|
]
|
158
157
|
process_errors(errors: errors)
|
159
158
|
end
|
data/lib/roku_builder/options.rb
CHANGED
@@ -31,6 +31,10 @@ module RokuBuilder
|
|
31
31
|
device_commands.include?(command)
|
32
32
|
end
|
33
33
|
|
34
|
+
def keyed_command?
|
35
|
+
keyed_commands.include?(command)
|
36
|
+
end
|
37
|
+
|
34
38
|
def has_source?
|
35
39
|
!(keys & sources).empty?
|
36
40
|
end
|
@@ -41,7 +45,7 @@ module RokuBuilder
|
|
41
45
|
RokuBuilder.plugins.each do |plugin|
|
42
46
|
plugin.commands.each do |command, attributes|
|
43
47
|
commands << command
|
44
|
-
[:device, :source, :exclude].each do |type|
|
48
|
+
[:device, :source, :exclude, :keyed].each do |type|
|
45
49
|
if attributes[type]
|
46
50
|
send("#{type}_commands".to_sym) << command
|
47
51
|
end
|
@@ -148,5 +152,11 @@ module RokuBuilder
|
|
148
152
|
def device_commands
|
149
153
|
@device_commands ||= []
|
150
154
|
end
|
155
|
+
|
156
|
+
# List of commands that require a key
|
157
|
+
# @return [Array<Symbol>] List of commands that require a key
|
158
|
+
def keyed_commands
|
159
|
+
@keyed_commands ||= []
|
160
|
+
end
|
151
161
|
end
|
152
162
|
end
|
@@ -14,7 +14,7 @@ module RokuBuilder
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def check_line(line:, number:, comment:)
|
17
|
-
#byebug if number ==
|
17
|
+
#byebug if number == 190 and @path.ends_with?("ScreenManager.brs")
|
18
18
|
set_indentation(line: line)
|
19
19
|
regexp = /^#{@character}{#{@ind}}[^#{@character}]/
|
20
20
|
unless line =~ regexp or line == "\n" or line =~ /\'indent-ignore/ or comment
|
@@ -47,10 +47,12 @@ module RokuBuilder
|
|
47
47
|
@ind += @count
|
48
48
|
elsif @prev_line =~ /:\s*\bfunction\b|:\s*\bsub\b/i
|
49
49
|
@ind += @count
|
50
|
+
elsif @prev_line =~ /=\s*\bfunction\b|=\s*\bsub\b/i
|
51
|
+
@ind += @count
|
50
52
|
elsif @prev_line =~ /^\s*\bfunction\b|^\s*\bsub\b/i
|
51
53
|
@ind += @count
|
52
54
|
elsif @prev_line =~ /^\s*#?if\b|^\s*#?else\b/i
|
53
|
-
unless @prev_line =~ /\bthen\b[ \t
|
55
|
+
unless @prev_line =~ /\bthen\b[ \t]*[^' \r\n]+.*$/i or @prev_line =~ /\breturn\b/i
|
54
56
|
@ind += @count
|
55
57
|
end
|
56
58
|
elsif @prev_line =~ /^\s*\bfor\b|^\s*\bwhile\b/i
|
@@ -7,9 +7,9 @@ module RokuBuilder
|
|
7
7
|
|
8
8
|
def self.commands
|
9
9
|
{
|
10
|
-
package: {device: true, source: true, stage: true, exclude: true},
|
10
|
+
package: {device: true, source: true, stage: true, exclude: true, keyed: true},
|
11
11
|
genkey: {device: true},
|
12
|
-
key: {device: true, source: true}
|
12
|
+
key: {device: true, source: true, keyed: true}
|
13
13
|
}
|
14
14
|
end
|
15
15
|
|
@@ -138,8 +138,8 @@ module RokuBuilder
|
|
138
138
|
lines = get_command_response(command: "sgnodes all", start_reg: start_reg, end_reg: end_reg)
|
139
139
|
xml_string = lines.join("\n")
|
140
140
|
stats = {"Total" => {count: 0}}
|
141
|
-
doc =
|
142
|
-
handle_node(stats: stats, node: doc.
|
141
|
+
doc = Nokogiri::XML(xml_string)
|
142
|
+
handle_node(stats: stats, node: doc.root)
|
143
143
|
stats
|
144
144
|
end
|
145
145
|
|
@@ -171,8 +171,7 @@ module RokuBuilder
|
|
171
171
|
|
172
172
|
def handle_node(stats:, node:)
|
173
173
|
if node
|
174
|
-
node.
|
175
|
-
next unless element.class == Oga::XML::Element
|
174
|
+
node.element_children.each do |element|
|
176
175
|
attributes = element.attributes.map{|attr| {"#{attr.name}": attr.value}}.reduce({}, :merge)
|
177
176
|
stats[element.name] ||= {count: 0, ids: []}
|
178
177
|
stats[element.name][:count] += 1
|
data/lib/roku_builder/version.rb
CHANGED
data/lib/roku_builder.rb
CHANGED
data/roku_builder.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.required_ruby_version = "~>
|
21
|
+
spec.required_ruby_version = "~> 3.0"
|
22
22
|
|
23
23
|
spec.add_dependency "rubyzip", "~> 1.2"
|
24
24
|
spec.add_dependency "faraday", "~> 0.13"
|
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_dependency "git", "~> 1.3"
|
27
27
|
spec.add_dependency "net-ping", "~> 2.0"
|
28
28
|
spec.add_dependency "net-telnet", "~> 0.1"
|
29
|
-
spec.add_dependency "
|
29
|
+
spec.add_dependency "nokogiri", "~> 1.12"
|
30
30
|
spec.add_dependency "win32-security", "~> 0.5" # For windows compatibility
|
31
31
|
spec.add_dependency "image_size", "~> 2.0"
|
32
32
|
|
@@ -138,7 +138,7 @@ module RokuBuilder
|
|
138
138
|
all_text = "midline "
|
139
139
|
txt = "split\nBrightScript Debugger> "
|
140
140
|
|
141
|
-
result = @monitor.send(:manage_text,
|
141
|
+
result = @monitor.send(:manage_text, all_text: all_text, txt: txt)
|
142
142
|
|
143
143
|
assert_equal "", result
|
144
144
|
|
@@ -148,7 +148,7 @@ module RokuBuilder
|
|
148
148
|
|
149
149
|
def test_monitor_manage_text_connection_used
|
150
150
|
assert_raises ExecutionError do
|
151
|
-
@monitor.send(:manage_text,
|
151
|
+
@monitor.send(:manage_text, all_text: "", txt: "Console connection is already in use.")
|
152
152
|
end
|
153
153
|
end
|
154
154
|
end
|
@@ -67,7 +67,7 @@ module RokuBuilder
|
|
67
67
|
tester = Tester.new(config: config)
|
68
68
|
|
69
69
|
text = "this\nis\na\ntest\nparagraph"
|
70
|
-
tester.send(:handle_text,
|
70
|
+
tester.send(:handle_text, txt: text)
|
71
71
|
|
72
72
|
refute tester.instance_variable_get(:@in_tests)
|
73
73
|
end
|
@@ -79,7 +79,7 @@ module RokuBuilder
|
|
79
79
|
|
80
80
|
text = ["this","is","a","test","paragraph"]
|
81
81
|
|
82
|
-
tester.send(:handle_text,
|
82
|
+
tester.send(:handle_text, txt: text.join("\n"))
|
83
83
|
assert_equal text, tester.instance_variable_get(:@logs)
|
84
84
|
assert tester.instance_variable_get(:@in_tests)
|
85
85
|
end
|
@@ -91,7 +91,7 @@ module RokuBuilder
|
|
91
91
|
text = ["this","*Start testing*","is","a","test","*End testing*","paragraph"]
|
92
92
|
verify_text = ["***************","***************","*Start testing*","is","a","test","*End testing*","*************","*************"]
|
93
93
|
|
94
|
-
tester.send(:handle_text,
|
94
|
+
tester.send(:handle_text, txt: text.join("\n"))
|
95
95
|
refute tester.instance_variable_get(:@in_tests)
|
96
96
|
assert_equal verify_text, tester.instance_variable_get(:@logs)
|
97
97
|
end
|
@@ -103,7 +103,7 @@ module RokuBuilder
|
|
103
103
|
text = ["connection already in use"]
|
104
104
|
|
105
105
|
assert_raises IOError do
|
106
|
-
tester.send(:handle_text,
|
106
|
+
tester.send(:handle_text, txt: text.join("\n"))
|
107
107
|
end
|
108
108
|
end
|
109
109
|
end
|
@@ -167,13 +167,6 @@ module RokuBuilder
|
|
167
167
|
assert_equal [15, -1], validator.instance_variable_get(:@codes)
|
168
168
|
end
|
169
169
|
|
170
|
-
def test_config_manager_validate_project_key
|
171
|
-
config = good_config
|
172
|
-
config[:projects][:project2][:stages][:production][:key] = "b"
|
173
|
-
validator = ConfigValidator.new(config: config)
|
174
|
-
assert_equal [22], validator.instance_variable_get(:@codes)
|
175
|
-
end
|
176
|
-
|
177
170
|
def test_config_manager_validate_keys_pkg
|
178
171
|
config = good_config
|
179
172
|
config[:keys][:a][:keyed_pkg] = nil
|
@@ -42,7 +42,7 @@ module RokuBuilder
|
|
42
42
|
def test_logger_testing
|
43
43
|
Logger.set_testing
|
44
44
|
logger = Logger.instance
|
45
|
-
|
45
|
+
assert_nil logger.instance_variable_get(:@logdev).instance_variable_get(:@filename)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -26,7 +26,7 @@ module RokuBuilder
|
|
26
26
|
parse_stub = lambda{ count+= 1; {validate: true} }
|
27
27
|
options = Options.allocate
|
28
28
|
options.stub(:parse, parse_stub) do
|
29
|
-
options.send(:initialize,
|
29
|
+
options.send(:initialize, options: {validate: true})
|
30
30
|
end
|
31
31
|
assert_equal 0, count
|
32
32
|
end
|
@@ -133,7 +133,7 @@ module RokuBuilder
|
|
133
133
|
options = Options.allocate
|
134
134
|
options.stub(:source_command?, true) do
|
135
135
|
assert_raises InvalidOptions do
|
136
|
-
options.send(:initialize,
|
136
|
+
options.send(:initialize, options: {validate: true})
|
137
137
|
options.validate
|
138
138
|
end
|
139
139
|
end
|
@@ -164,7 +164,7 @@ module RokuBuilder
|
|
164
164
|
logger.expect(:warn, nil, ["Depricated"])
|
165
165
|
Logger.class_variable_set(:@@instance, logger)
|
166
166
|
options.stub(:depricated_options, {validate: "Depricated"}) do
|
167
|
-
options.send(:initialize,
|
167
|
+
options.send(:initialize, options: {validate: true})
|
168
168
|
options.validate
|
169
169
|
end
|
170
170
|
logger.verify
|
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: 4.
|
4
|
+
version: 4.24.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- greeneca
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -95,19 +95,19 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.1'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: nokogiri
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '1.12'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '1.12'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: win32-security
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -626,14 +626,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
626
626
|
requirements:
|
627
627
|
- - "~>"
|
628
628
|
- !ruby/object:Gem::Version
|
629
|
-
version: '
|
629
|
+
version: '3.0'
|
630
630
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
631
631
|
requirements:
|
632
632
|
- - ">="
|
633
633
|
- !ruby/object:Gem::Version
|
634
634
|
version: '0'
|
635
635
|
requirements: []
|
636
|
-
rubygems_version: 3.
|
636
|
+
rubygems_version: 3.2.3
|
637
637
|
signing_key:
|
638
638
|
specification_version: 4
|
639
639
|
summary: Build Tool for Roku Apps
|