class CoverageCommand
def execute
def execute puts "Slathering..." setup_ymlfile # MUST be the first setup setup_service_name setup_ignore_list setup_build_directory setup_source_directory setup_output_directory setup_coverage_service setup_verbose_mode setup_input_format setup_scheme setup_configuration setup_workspace setup_binary_file setup_binary_basename setup_arch setup_source_files setup_decimals project.configure post puts "Slathered" end
def post
def post project.post end
def project
def project @project ||= begin xcodeproj_path_to_open = xcodeproj_path || Slather::Project.yml["xcodeproj"] if xcodeproj_path_to_open project = Slather::Project.open(xcodeproj_path_to_open) else raise StandardError, "Must provide an xcodeproj either via the 'slather [SUBCOMMAND] [PROJECT].xcodeproj' command or through .slather.yml" end end end
def setup_arch
def setup_arch project.arch = arch end
def setup_binary_basename
def setup_binary_basename project.binary_basename = binary_basename_list if !binary_basename_list.empty? end
def setup_binary_file
def setup_binary_file project.binary_file = binary_file_list if !binary_file_list.empty? end
def setup_build_directory
def setup_build_directory project.build_directory = build_directory if build_directory end
def setup_configuration
def setup_configuration project.configuration = configuration end
def setup_coverage_service
def setup_coverage_service if coveralls? project.coverage_service = :coveralls elsif simple_output? project.coverage_service = :terminal elsif gutter_json? project.coverage_service = :gutter_json elsif cobertura_xml? project.coverage_service = :cobertura_xml elsif llvm_cov? project.coverage_service = :llvm_cov elsif html? project.coverage_service = :html project.show_html = show? project.cdn_assets = cdn_assets? elsif json? project.coverage_service = :json elsif sonarqube_xml? project.coverage_service = :sonarqube_xml end end
def setup_decimals
def setup_decimals project.decimals = decimals if decimals end
def setup_ignore_list
def setup_ignore_list project.ignore_list = ignore_list if !ignore_list.empty? end
def setup_input_format
def setup_input_format project.input_format = input_format end
def setup_output_directory
def setup_output_directory project.output_directory = output_directory if output_directory end
def setup_scheme
def setup_scheme project.scheme = scheme end
def setup_service_name
def setup_service_name if travis? project.ci_service = :travis_ci elsif travispro? project.ci_service = :travis_pro elsif circleci? project.ci_service = :circleci elsif jenkins? project.ci_service = :jenkins elsif buildkite? project.ci_service = :buildkite elsif teamcity? project.ci_service = :teamcity elsif github? project.ci_service = :github end end
def setup_source_directory
def setup_source_directory project.source_directory = source_directory if source_directory end
def setup_source_files
def setup_source_files project.source_files = source_files_list if !source_files_list.empty? end
def setup_verbose_mode
def setup_verbose_mode project.verbose_mode = verbose? end
def setup_workspace
def setup_workspace project.workspace = workspace end
def setup_ymlfile
def setup_ymlfile Slather::Project.yml_filename = ymlfile if ymlfile end