Class: Pod::Installer::UserProjectIntegrator

Inherits:
Object
  • Object
show all
Defined in:
lib/cocoapods/installer/user_project_integrator.rb,
lib/cocoapods/installer/user_project_integrator/target_integrator.rb,
lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb

Overview

The UserProjectIntegrator integrates the libraries generated by TargetDefinitions of the Podfile with their correspondent user projects.

Defined Under Namespace

Classes: TargetIntegrator

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(podfile, sandbox, installation_root, targets, targets_to_integrate, use_input_output_paths: true) ⇒ UserProjectIntegrator

Initialize a new instance



56
57
58
59
60
61
62
63
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 56

def initialize(podfile, sandbox, installation_root, targets, targets_to_integrate, use_input_output_paths: true)
  @podfile = podfile
  @sandbox = sandbox
  @installation_root = installation_root
  @targets = targets
  @targets_to_integrate = targets_to_integrate
  @use_input_output_paths = use_input_output_paths
end

Instance Attribute Details

#installation_rootPathname (readonly)



31
32
33
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 31

def installation_root
  @installation_root
end

#podfilePodfile (readonly)



19
20
21
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 19

def podfile
  @podfile
end

#sandboxSandbox (readonly)



23
24
25
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 23

def sandbox
  @sandbox
end

#targetsArray<AggregateTarget> (readonly)



35
36
37
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 35

def targets
  @targets
end

#targets_to_integrateArray<AggregateTarget> (readonly)



40
41
42
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 40

def targets_to_integrate
  @targets_to_integrate
end

#use_input_output_pathsBoolean (readonly) Also known as: use_input_output_paths?



44
45
46
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 44

def use_input_output_paths
  @use_input_output_paths
end

Instance Method Details

#integrate!void

This method returns an undefined value.

Integrates the user projects associated with the TargetDefinitions with the Pods project and its products.



70
71
72
73
74
75
76
77
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 70

def integrate!
  create_workspace
  deintegrated_projects = deintegrate_removed_targets
  integrate_user_targets
  warn_about_xcconfig_overrides
  projects_to_save = (user_projects_to_integrate + deintegrated_projects).uniq
  save_projects(projects_to_save)
end