class Fastlane::Helper::CordovaScreenshotsHelper

Constants

HELPER_PATH

Public Class Methods

copy_all_files(src_folder, project_folder) click to toggle source
# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 8
def self.copy_all_files(src_folder, project_folder)
  if src_folder && Dir.exist?(src_folder)
    dest_folder = project_folder.to_s
    UI.message("Copying all files from '#{src_folder}' to '#{dest_folder}'")
    Dir.exist?(dest_folder) || FileUtils.mkdir_p(dest_folder)
    FileUtils.cp_r(src_folder + "/.", dest_folder)
  elsif
    UI.user_error!("Copying files: '#{src_folder}' does not exist.")
  end
end
copy_android_build_extras_gradle() click to toggle source

copy over build-extras.gradle to `platformsandroidapp`

# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 61
def self.copy_android_build_extras_gradle
  android_resources_path = File.expand_path("#{HELPER_PATH}/../resources/android")
  FileUtils.cp("#{android_resources_path}/build-extras.gradle", "platforms/android/app")
end
copy_android_manifest(package_name) click to toggle source

copy over AndroidManifest.xml to `platformsandroidappsrcdebug`

# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 67
def self.copy_android_manifest(package_name)
  android_resources_path = File.expand_path("#{HELPER_PATH}/../resources/android")
  dest_path = "platforms/android/app/src/debug"
  filename = "AndroidManifest.xml"
  Dir.exist?(dest_path) || FileUtils.mkdir_p(dest_path)
  FileUtils.cp("#{android_resources_path}/#{filename}", dest_path)
  replace_package_name("#{dest_path}/#{filename}", package_name)
end
copy_android_sample_test(package_name) click to toggle source
# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 34
def self.copy_android_sample_test(package_name)
  android_resources_path = File.expand_path("#{HELPER_PATH}/../resources/android")
  Dir.exist?(CordovaScreenshots::CORDOVA_SCREENSHOTS_ANDROID_CONFIG_PATH) || FileUtils.mkdir_p(CordovaScreenshots::CORDOVA_SCREENSHOTS_ANDROID_CONFIG_PATH)
  # TODO: Don't overwrite existing files!
  filename = "ScreengrabTest.java"
  FileUtils.cp("#{android_resources_path}/#{filename}", CordovaScreenshots::CORDOVA_SCREENSHOTS_ANDROID_CONFIG_PATH.to_s)
  replace_package_name("#{CordovaScreenshots::CORDOVA_SCREENSHOTS_ANDROID_CONFIG_PATH}/#{filename}", package_name)
end
copy_android_test(package_name_path) click to toggle source

copy over test file to `platformsandroidappsrcandroidTestjava...ScreengrabTest.java` (… = ioionicstarter)

# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 53
def self.copy_android_test(package_name_path)
  test_path = "platforms/android/app/src/androidTest/java/#{package_name_path}"
  Dir.exist?(test_path) || FileUtils.mkdir_p(test_path)
  # TODO: Handle missing ScreengrabTest.java file and suggest using other action
  FileUtils.cp("#{CordovaScreenshots::CORDOVA_SCREENSHOTS_ANDROID_CONFIG_PATH}/ScreengrabTest.java", test_path)
end
copy_ios_sample_tests(scheme_name) click to toggle source
# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 19
def self.copy_ios_sample_tests(scheme_name)
  ios_resources_path = File.expand_path("#{HELPER_PATH}/../resources/ios")
  source_folder = "#{ios_resources_path}/#{CordovaScreenshots::CORDOVA_SCREENSHOTS_DEFAULT_IOS_UNIT_TEST_NAME}"
  dest_folder = "#{CordovaScreenshots::CORDOVA_SCREENSHOTS_IOS_CONFIG_PATH}/#{scheme_name}"
  # TODO: Don't overwrite existing files
  copy_all_files(source_folder, dest_folder)
end
find_default_ios_xcode_workspace() click to toggle source

Find any existing Xcode Workspace generated by Cordova/Ionic

# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 30
def self.find_default_ios_xcode_workspace
  Dir["#{CordovaScreenshots::CORDOVA_SCREENSHOTS_IOS_BUILD_PATH}/*.xcodeproj"].last || nil
end
read_package_name_from_android_test() click to toggle source

Read package name from test file

# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 44
def self.read_package_name_from_android_test()
  text = File.read("#{CordovaScreenshots::CORDOVA_SCREENSHOTS_ANDROID_CONFIG_PATH}/ScreengrabTest.java")
  # TODO: Error message if file is missing
  match = text.match(/package (.*)?;/)
  match[1]
  # TODO: Error message if package name can not be read
end
replace_package_name(file, package_name) click to toggle source
# File lib/fastlane/plugin/cordova_screenshots/helper/cordova_screenshots_helper.rb, line 76
def self.replace_package_name(file, package_name)
  data = File.read(file)
  filtered_data = data.gsub("tools.fastlane.plugin.cordova_screenshots", package_name)
  File.open(file, "w") do |f|
    f.write(filtered_data)
  end
end