Class: BuildBinary
- Defined in:
- lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb
Overview
Class build framework
Instance Method Summary collapse
- #build ⇒ Object
- #build_iphoneos_framework ⇒ Object
- #build_iphonesimulator_framework ⇒ Object
- #clean ⇒ Object
- #create_universal_framework ⇒ Object
- #generate_cache_file ⇒ Object
- #generate_final_binary(framework) ⇒ Object
-
#initialize(binary_type) ⇒ BuildBinary
constructor
A new instance of BuildBinary.
Constructor Details
#initialize(binary_type) ⇒ BuildBinary
12 13 14 15 16 17 |
# File 'lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb', line 12 def initialize(binary_type) @config_instance = MBuildConfig.instance @binary_type = binary_type @pod_name = @config_instance.pod_name @pod_version = @config_instance.pod_version end |
Instance Method Details
#build ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb', line 19 def build clean Dir.chdir('Pods') do build_iphoneos_framework build_iphonesimulator_framework end framework = create_universal_framework generate_final_binary(framework) generate_cache_file end |
#build_iphoneos_framework ⇒ Object
37 38 39 40 |
# File 'lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb', line 37 def build_iphoneos_framework build_cmd = "xcodebuild build -target #{@pod_name} -sdk iphoneos -arch arm64 -quiet" system build_cmd end |
#build_iphonesimulator_framework ⇒ Object
42 43 44 45 |
# File 'lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb', line 42 def build_iphonesimulator_framework build_cmd = "xcodebuild build -target #{@pod_name} -sdk iphonesimulator -arch x86_64 -quiet" system build_cmd end |
#clean ⇒ Object
30 31 32 33 34 35 |
# File 'lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb', line 30 def clean binary_dir = "#{@config_instance.mbuild_dir}/#{@pod_name}" FileUtils.rm_rf(binary_dir) if Dir.exist?(binary_dir) clean_cmd = 'xcodebuild clean' system clean_cmd end |
#create_universal_framework ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb', line 47 def create_universal_framework iphoneos_framework = "./build/Release-iphoneos/#{@pod_name}/#{@pod_name}.framework" simulator_framework = iphoneos_framework.gsub('iphoneos', 'iphonesimulator') if @binary_type == BinaryType::FRAMEWORK build_framework(iphoneos_framework, simulator_framework) else build_xcframework(iphoneos_framework, simulator_framework) end iphoneos_framework.gsub("#{@pod_name}.framework", '') end |
#generate_cache_file ⇒ Object
64 65 66 67 |
# File 'lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb', line 64 def generate_cache_file binary_dir = "#{@config_instance.mbuild_dir}/#{@pod_name}/Podfile.lock" FileUtils.cp_r("#{@config_instance.mbuild_dir}/project/Podfile.lock", binary_dir) end |
#generate_final_binary(framework) ⇒ Object
58 59 60 61 62 |
# File 'lib/cocoapods-podspec-binary/mbuild/mbuild_binary.rb', line 58 def generate_final_binary(framework) binary_dir = "#{@config_instance.mbuild_dir}/#{@pod_name}" Dir.mkdir(binary_dir) if Dir.exist? binary_dir FileUtils.cp_r(framework, binary_dir) end |