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) ⇒ UserProjectIntegrator

Init a new UserProjectIntegrator

Parameters:

  • podfile (Podfile)

    @see #podfile

  • sandbox (Sandbox)

    @see #sandbox

  • installation_root (Pathname)

    @see #installation_root

  • targets (Array<AggregateTarget>)

    @see #targets



47
48
49
50
51
52
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 47

def initialize(podfile, sandbox, installation_root, targets)
  @podfile = podfile
  @sandbox = sandbox
  @installation_root = installation_root
  @targets = targets
end

Instance Attribute Details

#installation_rootPathname (readonly)

TODO:

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.

Returns:

  • (Pathname)

    the path of the installation.



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

def installation_root
  @installation_root
end

#podfilePodfile (readonly)

Returns the podfile that should be integrated with the user projects.

Returns:

  • (Podfile)

    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

#sandboxProject (readonly)

attr_reader :pods_project

Returns:

  • (Project)

    the pods project which contains the libraries to integrate.



26
27
28
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 26

def sandbox
  @sandbox
end

#targetsArray<AggregateTarget> (readonly)

Returns the targets represented in the Podfile.

Returns:



38
39
40
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 38

def targets
  @targets
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.



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

def integrate!
  create_workspace
  integrate_user_targets
  warn_about_xcconfig_overrides
  save_projects
end