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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 373790650070231c745746cd44c6ad316f34746e27fd73a4849b2d02279df624
4
- data.tar.gz: de065657de7cf806f4db60a01230eef93d1f92aba581c5456752367e01554900
3
+ metadata.gz: 5c8cbcadc9f204bd809c6d0b42ef03c0fe462209c493381d654db1b6c4f51b17
4
+ data.tar.gz: 51b96420ec3a859d6af35a16989bc5560bd6987c84e8ee3c8bbea4b3159aacbf
5
5
  SHA512:
6
- metadata.gz: 16a02701b5eaed8f0f6dbee5edd0c42d3f26481139384aac9ecc545c96695259d0c4509274b3543cf5fd137c55f9ae19e27dda9f21a0813a725f6d1e0ae870ce
7
- data.tar.gz: 01fbc2cd1d4bf08f4ee2f8a8fed846300d0a6629b54cb6a45484af7b4ff0388dde3ebfc84ac7d940bed5697700c5be690bc7491c10fcc366a374c59a8caaf75f
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 @parsed[:stage]
173
- @parsed[:key] = @parsed[:stage][:key]
174
- get_global_key_config if @parsed[:key].class == String
175
- test_key_file
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
- MISSING_KEY = 22
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
@@ -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
@@ -8,7 +8,7 @@ module RokuBuilder
8
8
  def self.commands
9
9
  {
10
10
  configure: {},
11
- validate: {},
11
+ validate: {keyed: true},
12
12
  increment: {source: true, stage: true},
13
13
  dostage: {source: true},
14
14
  dounstage: {source: true}
@@ -14,7 +14,7 @@ module RokuBuilder
14
14
  end
15
15
 
16
16
  def check_line(line:, number:, comment:)
17
- #byebug if number == 10 and @path.ends_with?(".brs")
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 ]*[^' \r\n']+.*$/i or @prev_line =~ /\breturn\b/i
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 = Oga.parse_xml(xml_string)
142
- handle_node(stats: stats, node: doc.children.first)
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.children.each do |element|
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
@@ -2,5 +2,5 @@
2
2
 
3
3
  module RokuBuilder
4
4
  # Version of the RokuBuilder Gem
5
- VERSION = "4.23.0"
5
+ VERSION = "4.24.1"
6
6
  end
data/lib/roku_builder.rb CHANGED
@@ -13,7 +13,7 @@ require 'json'
13
13
  require 'pstore'
14
14
  require "git"
15
15
  #profiler
16
- require 'oga'
16
+ require 'nokogiri'
17
17
  #navigator
18
18
  require 'io/console'
19
19
  #monitor
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 = "~> 2.3"
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 "oga", "~> 2.11"
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, {all_text: all_text, txt: txt})
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, {all_text: "", txt: "Console connection is already in use."})
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, {txt: 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, {txt: text.join("\n")})
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, {txt: text.join("\n")})
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, {txt: text.join("\n")})
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
- assert_equal "/dev/null", logger.instance_variable_get(:@logdev).instance_variable_get(:@filename)
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, {options: {validate: true}})
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, {options: {validate: true}})
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, {options: {validate: true}})
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.23.0
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: 2021-09-23 00:00:00.000000000 Z
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: oga
98
+ name: nokogiri
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.11'
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: '2.11'
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: '2.3'
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.0.8
636
+ rubygems_version: 3.2.3
637
637
  signing_key:
638
638
  specification_version: 4
639
639
  summary: Build Tool for Roku Apps