Class: Pod::Installer::UserProjectIntegrator
- Inherits:
-
Object
- Object
- Pod::Installer::UserProjectIntegrator
- 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
-
#installation_root ⇒ Pathname
readonly
The path of the installation.
-
#podfile ⇒ Podfile
readonly
The podfile that should be integrated with the user projects.
-
#sandbox ⇒ Sandbox
readonly
The sandbox used for this installation.
-
#targets ⇒ Array<AggregateTarget>
readonly
The targets represented in the Podfile.
-
#targets_to_integrate ⇒ Array<AggregateTarget>
readonly
The targets that require integration.
-
#use_input_output_paths ⇒ Boolean
(also: #use_input_output_paths?)
readonly
Whether to use input/output paths for build phase scripts.
Instance Method Summary collapse
-
#initialize(podfile, sandbox, installation_root, targets, targets_to_integrate, use_input_output_paths: true) ⇒ UserProjectIntegrator
constructor
Initialize a new instance.
-
#integrate! ⇒ void
Integrates the user projects associated with the TargetDefinitions with the Pods project and its products.
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_root ⇒ Pathname (readonly)
This is only used to compute the workspace path in case that it should be inferred by the project. If the workspace should be in the same dir of the project, this could be removed.
Returns the path of the installation.
31 32 33 |
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 31 def installation_root @installation_root end |
#podfile ⇒ Podfile (readonly)
Returns the podfile that should be integrated with the user projects.
19 20 21 |
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 19 def podfile @podfile end |
#sandbox ⇒ Sandbox (readonly)
Returns The sandbox used for this installation.
23 24 25 |
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 23 def sandbox @sandbox end |
#targets ⇒ Array<AggregateTarget> (readonly)
Returns the targets represented in the Podfile.
35 36 37 |
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 35 def targets @targets end |
#targets_to_integrate ⇒ Array<AggregateTarget> (readonly)
Returns the targets that require integration. This will always be equal or a smaller subset of #targets.
40 41 42 |
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 40 def targets_to_integrate @targets_to_integrate end |
#use_input_output_paths ⇒ Boolean (readonly) Also known as: use_input_output_paths?
Returns whether to use input/output paths for build phase scripts.
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 |