lib/scan/report_collector.rb in scan-0.5.2 vs lib/scan/report_collector.rb in scan-0.6.0
- old
+ new
@@ -1,39 +1,46 @@
module Scan
class ReportCollector
SUPPORTED = %w(html junit json-compilation-database)
+ # Intialize with values from Scan.config matching these param names
+ def initialize(open_report, output_types, output_directory)
+ @open_report = open_report
+ @output_types = output_types
+ @output_directory = output_directory
+ end
+
def parse_raw_file(path)
- raise "Couldn't find file at path '#{path}'".red unless File.exist?(path)
+ UI.user_error!("Couldn't find file at path '#{path}'") unless File.exist?(path)
commands = generate_commands(path)
commands.each do |output_path, command|
system(command)
- Helper.log.info("Successfully generated report at '#{output_path}'".green)
+ UI.success("Successfully generated report at '#{output_path}'")
- if Scan.config[:open_report] and output_path.end_with?(".html")
+ if @open_report and output_path.end_with?(".html")
# Open the HTML file
`open --hide '#{output_path}'`
end
end
end
# Returns a hash containg the resulting path as key and the command as value
def generate_commands(path, types: nil, output_file_name: nil)
- types ||= Scan.config[:output_types]
+ types ||= @output_types
types = types.split(",") if types.kind_of?(String) # might already be an array when passed via fastlane
commands = {}
types.each do |raw|
type = raw.strip
unless SUPPORTED.include?(type)
- Helper.log.error "Couldn't find reporter '#{type}', available #{SUPPORTED.join(', ')}"
+ UI.error("Couldn't find reporter '#{type}', available #{SUPPORTED.join(', ')}")
next
end
file_name = "report.#{type}"
- output_path = output_file_name || File.join(File.expand_path(Scan.config[:output_directory]), file_name)
+ output_path = output_file_name || File.join(File.expand_path(@output_directory), file_name)
parts = ["cat '#{path}' | "]
parts << "xcpretty"
parts << "--report #{type}"
parts << "--output '#{output_path}'"
parts << "&> /dev/null "