Module: Pod::PodGenerate::Patches::InstallerPatch::ParallelInstall
- Defined in:
- lib/cocoapods-podgenerate/patches/installer_patch.rb
Instance Method Summary collapse
- #install_pod_targets(project, pod_targets) ⇒ Object
-
#integrate_targets(pod_target_installation_results) ⇒ Object
Override integrate_targets to run in parallel.
Instance Method Details
#install_pod_targets(project, pod_targets) ⇒ Object
22 23 24 |
# File 'lib/cocoapods-podgenerate/patches/installer_patch.rb', line 22 def install_pod_targets(project, pod_targets) super end |
#integrate_targets(pod_target_installation_results) ⇒ Object
Override integrate_targets to run in parallel
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/cocoapods-podgenerate/patches/installer_patch.rb', line 27 def integrate_targets(pod_target_installation_results) pods_to_integrate = pod_target_installation_results.values.select do |result| target = result.target !result.test_native_targets.empty? || !result.app_native_targets.empty? || target.contains_script_phases? || target.framework_paths.values.flatten.any? { |p| !p.dsym_path.nil? } || target.xcframeworks.values.any?(&:any?) end return if pods_to_integrate.empty? use_io_paths = !.disable_input_output_paths threads = pods_to_integrate.map do |result| Thread.new do begin Pod::Installer::Xcode::PodsProjectGenerator::PodTargetIntegrator.new( result, :use_input_output_paths => use_io_paths ).integrate! rescue StandardError => e Pod::UI.warn "[cocoapods-podgenerate] Integrate error: #{e.}" end end end threads.each(&:join) end |