class Fastlane::Actions::CheckbuildAction

Public Class Methods

authors() click to toggle source
# File lib/fastlane/plugin/checkbuild/actions/checkbuild_action.rb, line 168
def self.authors
  ["Johannes Steudle"]
end
available_options() click to toggle source
# File lib/fastlane/plugin/checkbuild/actions/checkbuild_action.rb, line 193
def self.available_options
  [
    FastlaneCore::ConfigItem.new(key: :file_path,
     env_name: 'FILE_PATH',
     description: 'Path to the file that should be checked. This must point to a binary file, either a library or an app\'s binary',
     optional: false,
     type: String),
    FastlaneCore::ConfigItem.new(key: :req_archs,
     env_name: 'REQ_ARCHS',
     description: 'The architectures that are required, e.g. i386, x86_64, armv7, arm64',
     optional: false,
     type: String)
  ]
end
description() click to toggle source
# File lib/fastlane/plugin/checkbuild/actions/checkbuild_action.rb, line 164
def self.description
  "This plugin will check any binary library for unwanted symbols and architectures."
end
details() click to toggle source
# File lib/fastlane/plugin/checkbuild/actions/checkbuild_action.rb, line 176
def self.details
  [
    "This plugin can be used if there should be a check of the given binary file for unwanted symbols and architectures. ",
    "Various checks will be executed and provide information about the symbols that are part of the binary file.\n\n",
    "Sample output:\n\n",
    " ------------------------\n",
    " --- Step: checkbuild ---\n",
    " ------------------------\n",
    " Non fat file, missing ['i386', 'x86_64']\n",
    " File does not contain any assertions!\n",
    " File does not contain any profiling data!\n",
    " File contains encryption info!\n",
    " File does not contain any coverage symbols!\n",
    " Bitcode inactive!\n"
  ].join
end
example_code() click to toggle source
# File lib/fastlane/plugin/checkbuild/actions/checkbuild_action.rb, line 208
def self.example_code
  [
    'checkbuild(
    file_path: \'../build/DerivedData/Build/Products/Debug-iphoneos/<AppName>.app/<AppName>\',
    req_archs: \'i386, x86_64, armv7, arm64\'
    )'
  ]
end
is_supported?(platform) click to toggle source
# File lib/fastlane/plugin/checkbuild/actions/checkbuild_action.rb, line 217
def self.is_supported?(platform)
  true
end
return_value() click to toggle source
# File lib/fastlane/plugin/checkbuild/actions/checkbuild_action.rb, line 172
def self.return_value
    # If your method provides a return value, you can describe here what it does
  end
run(params) click to toggle source
# File lib/fastlane/plugin/checkbuild/actions/checkbuild_action.rb, line 151
def self.run(params)
  file_path = File.expand_path(params[:file_path])
  required_archs = params[:req_archs].gsub(/[[:space:]]/, '').split(pattern=',')
  checker = BinaryChecker.new(file_path)
  checker.check_architectures(required_archs)
  checker.check_for_assertion
  checker.check_debug_symbols
  checker.check_profiling_data
  checker.check_encryption
  checker.check_coverage_symbols
  checker.check_bitcode_availability
end