class Pod::Installer::Xcode::MultiPodsProjectGenerator
Public Instance Methods
generate!()
click to toggle source
# File lib/cocoapods-headermap/multi_pods_project_generator.rb, line 7 def generate! # Generate container Pods.xcodeproj. container_project = create_container_project(aggregate_targets, sandbox.project_path) project_paths_by_pod_targets = pod_targets.group_by do |pod_target| sandbox.pod_target_project_path(pod_target.project_name) end # If `incremental_installation` enabled, read cache from sanbox. if installation_options.incremental_installation HeaderMapsGenerator.analyze_cache_from(project_headers_cache_path, pod_targets) end projects_by_pod_targets = Hash[project_paths_by_pod_targets.map do |project_path, pod_targets| project = create_pods_project(pod_targets, project_path, container_project) [project, pod_targets] end] # Generate header map files and cache if neccessary. HeaderMapsGenerator.generate!(sandbox) HeaderMapsGenerator.update_cache_to(project_headers_cache_path) # Note: We must call `install_file_references` on all pod targets before installing them. pod_target_installation_results = install_all_pod_targets(projects_by_pod_targets) aggregate_target_installation_results = install_aggregate_targets_into_project(container_project, aggregate_targets) target_installation_results = InstallationResults.new(pod_target_installation_results, aggregate_target_installation_results) integrate_targets(target_installation_results.pod_target_installation_results) wire_target_dependencies(target_installation_results) PodsProjectGeneratorResult.new(container_project, projects_by_pod_targets, target_installation_results) end
project_headers_cache_path()
click to toggle source
Project headers cache path.
# File lib/cocoapods-headermap/multi_pods_project_generator.rb, line 40 def project_headers_cache_path sandbox.root.join('.project_cache', 'project_headers_cache.yaml') end