Class: Pod::Installer::Xcode::SinglePodsProjectGenerator

Inherits:
PodsProjectGenerator show all
Defined in:
lib/cocoapods/installer/xcode/single_pods_project_generator.rb

Overview

The SinglePodsProjectGenerator handles generation of the 'Pods/Pods.xcodeproj'

Instance Attribute Summary

Attributes inherited from PodsProjectGenerator

#aggregate_targets, #build_configurations, #config, #installation_options, #metadata_cache, #pod_targets, #project_object_version, #sandbox

Instance Method Summary collapse

Methods inherited from PodsProjectGenerator

#add_system_framework_dependencies, #add_system_frameworks_to_native_target, #configure_schemes, #configure_schemes_for_pod_target, #initialize, #install_aggregate_targets, #install_file_references, #install_pod_targets, #integrate_targets, #share_scheme_for_development_pod?, #wire_target_dependencies

Constructor Details

This class inherits a constructor from Pod::Installer::Xcode::PodsProjectGenerator

Instance Method Details

#generate!PodsProjectGeneratorResult

Generates single Pods/Pods.xcodeproj.


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/cocoapods/installer/xcode/single_pods_project_generator.rb', line 11

def generate!
  project_path = sandbox.project_path
  platforms = aggregate_targets.map(&:platform)
  project_generator = ProjectGenerator.new(sandbox, project_path, pod_targets, build_configurations,
                                           platforms, project_object_version, config.podfile_path)
  project = project_generator.generate!
  install_file_references(project, pod_targets)

  pod_target_installation_results = install_all_pod_targets(project, pod_targets)
  aggregate_target_installation_results = install_aggregate_targets(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(project, {}, target_installation_results)
end

#install_all_pod_targets(project, pod_targets) ⇒ Object (private)


30
31
32
33
34
# File 'lib/cocoapods/installer/xcode/single_pods_project_generator.rb', line 30

def install_all_pod_targets(project, pod_targets)
  UI.message '- Installing Pod Targets' do
    install_pod_targets(project, pod_targets)
  end
end