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

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

TODO:

Too many initialization arguments

Returns a new instance of UserProjectIntegrator.

Parameters:

  • podfile (Podfile)

    @see #podfile

  • sandbox (Sandbox)

    @see #sandbox

  • installation_root (Pathname)

    @see #installation_root

  • libraries (Library)

    @see #libraries



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

def initialize(podfile, sandbox, installation_root, libraries)
  @podfile = podfile
  @sandbox = sandbox
  @installation_root = installation_root
  @libraries = libraries
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.



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

def installation_root
  @installation_root
end

#librariesLibrary (readonly)

Returns the libraries generated by the installer.

Returns:

  • (Library)

    the libraries generated by the installer.



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

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



21
22
23
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 21

def podfile
  @podfile
end

#sandboxProject (readonly)

attr_reader :pods_project

Returns:

  • (Project)

    the pods project which contains the libraries to integrate.



28
29
30
# File 'lib/cocoapods/installer/user_project_integrator.rb', line 28

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



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

def integrate!
  create_workspace
  integrate_user_targets
  warn_about_empty_podfile
end