Module: Xcode
- Defined in:
- lib/modules/xcode.rb
Overview
Main methods
Instance Method Summary collapse
- #archive(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) ⇒ Object
- #archive_and_export_ipa(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR, export_options_path = DEFAULT_EXPORT_OPTIONS_PLIST_PATH) ⇒ Object
- #build(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) ⇒ Object
- #build_universal_framework(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) ⇒ Object
- #clean(setup_name = YAML_DEFAULT_SETUP_NAME) ⇒ Object
- #test(setup_name = YAML_DEFAULT_SETUP_NAME) ⇒ Object
Instance Method Details
#archive(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) ⇒ Object
36 37 38 39 40 |
# File 'lib/modules/xcode.rb', line 36 def archive(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) config = BuildConfiguration.load(setup_name) base_command = xcodebuild_base_command(config) execute_xcodebuild "#{base_command} archive", config.use_xcpretty, config.xcpretty_flags, build_dir end |
#archive_and_export_ipa(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR, export_options_path = DEFAULT_EXPORT_OPTIONS_PLIST_PATH) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/modules/xcode.rb', line 42 def archive_and_export_ipa(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR, = DEFAULT_EXPORT_OPTIONS_PLIST_PATH) config = BuildConfiguration.load(setup_name) file_name = config.release_configuration.product_name ? config.release_configuration.product_name : config.scheme archive_folder = File.join(Dir.pwd, build_dir) archive_name = file_name + ".xcarchive" archive_path = File.join(archive_folder, archive_name) sdk_option = config.sdk.nil? ? '' : "-sdk #{config.sdk}" execute_xcodebuild "#{xcodebuild_path()} #{config.project_load} \"#{config.project}\" -scheme \"#{config.scheme}\" #{sdk_option} -configuration #{config.configuration} archive -archivePath \"#{archive_path}\"", config.use_xcpretty, config.xcpretty_flags, build_dir execute_xcodebuild "#{xcodebuild_path()} -exportArchive -archivePath \"#{archive_path}\" -exportPath \"#{build_dir}\" -exportOptionsPlist \"#{export_options_path}\"", config.use_xcpretty, config.xcpretty_flags, build_dir Zip.compress("#{archive_path}") end |
#build(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) ⇒ Object
30 31 32 33 34 |
# File 'lib/modules/xcode.rb', line 30 def build(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) config = BuildConfiguration.load(setup_name) base_command = xcodebuild_base_command(config) execute_xcodebuild "#{base_command}", config.use_xcpretty, config.xcpretty_flags, build_dir end |
#build_universal_framework(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/modules/xcode.rb', line 54 def build_universal_framework(setup_name = YAML_DEFAULT_SETUP_NAME, build_dir = BUILD_DIR) config = BuildConfiguration.load(setup_name) device = device_with_sdk(config.sdk) execute_xcodebuild "#{xcodebuild_path()} #{config.project_load} \"#{config.project}\" -scheme \"#{config.scheme}\" -sdk #{device}os -configuration #{config.configuration} clean archive PLATFORM_NAME=#{device}os", config.use_xcpretty, config.xcpretty_flags, build_dir execute_xcodebuild "#{xcodebuild_path()} #{config.project_load} \"#{config.project}\" -scheme \"#{config.scheme}\" -sdk #{device}simulator -configuration #{config.configuration} clean build PLATFORM_NAME=#{device}simulator", config.use_xcpretty, config.xcpretty_flags, build_dir lipo_universal_framework(setup_name, build_dir, device) end |
#clean(setup_name = YAML_DEFAULT_SETUP_NAME) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/modules/xcode.rb', line 15 def clean(setup_name = YAML_DEFAULT_SETUP_NAME) config = BuildConfiguration.load(setup_name) execute_xcodebuild "xcodebuild #{config.project_load} #{config.project} -scheme \"#{config.scheme}\" -sdk #{config.sdk} -configuration #{config.configuration} clean", config.use_xcpretty, config.xcpretty_flags derived_data_path = Dir.glob(ENV['HOME']+"/Library/Developer/Xcode/DerivedData/#{config.project}*") FileUtils.rm_rf(derived_data_path) end |
#test(setup_name = YAML_DEFAULT_SETUP_NAME) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/modules/xcode.rb', line 22 def test(setup_name = YAML_DEFAULT_SETUP_NAME) config = BuildConfiguration.load(setup_name) xcpretty_flags = xcpretty_flag_with_output_path(config.xcpretty_flags, test_report_output_path(config)) test_destination = config.test_destination.build_destination_string base_command = xcodebuild_base_command(config) execute_xcodebuild "#{base_command} test -destination '#{test_destination}'", config.use_xcpretty, xcpretty_flags end |