lib/roku_builder/plugins/analyzer.rb in roku_builder-4.29.9 vs lib/roku_builder/plugins/analyzer.rb in roku_builder-4.30.0
- old
+ new
@@ -16,16 +16,19 @@
parser.separator "Commands:"
parser.on("--analyze", "Run a static analysis on a given stage") do
options[:analyze] = true
end
parser.separator "Options:"
- parser.on("--inclide-libraries", "Include libraries in analyze") do
+ parser.on("--include-libraries", "Include libraries in analyze") do
options[:include_libraries] = true
end
- parser.on("--sca-precommand COMMAND", "Include libraries in analyze") do |command|
- options[:sca_precommand] = command
+ parser.on("--include-libraries-sca", "Include libraries in roku Static Code Aanlysis") do
+ options[:include_libraries_sca] = true
end
+ parser.on("--skip-sca", "Skip Roku Static Code Analysis") do |command|
+ options[:skip_sca] = command
+ end
end
def self.dependencies
[Loader]
end
@@ -38,11 +41,11 @@
linter_config = get_config(".roku_builder_linter.json", true)
linter_config ||= {is_ssai: false}
loader = Loader.new(config: @config)
Dir.mktmpdir do |dir|
loader.copy(options: options, path: dir)
- run_sca_tool(path: dir, linter_config: linter_config)
+ run_sca_tool(path: dir, linter_config: linter_config) unless options[:skip_sca]
libraries = @config.project[:libraries]
libraries ||= []
Dir.glob(File.join(dir, "**", "*")).each do |file_path|
#byebug if file_path.include?("adTuningChannelComponent.brs")
file = file_path.dup; file.slice!(dir)
@@ -102,10 +105,10 @@
if linter_config[:ssai] and /SetAdUrl\(\) method is missing/.match(@sca_warning[:message])
return false
end
libraries = @config.project[:libraries]
libraries ||= []
- if @sca_warning[:path] and libraries.any_is_start?(@sca_warning[:path].gsub(/pkg:/, "")) and not @options[:include_libraries] and not linter_config[:sca_libraries]
+ if @sca_warning[:path] and libraries.any_is_start?(@sca_warning[:path].gsub(/pkg:/, "")) and not @options[:include_libraries_sca] and not linter_config[:sca_libraries]
return false
end
if linter_config[:ignore_warnings]
linter_config[:ignore_warnings].each do |regexp|
return false if @sca_warning[:message] =~ /#{regexp}/