Class: Pod::Installer

Inherits:
Object
  • Object
show all
Defined in:
lib/cocoapods-podtarget-optimize.rb,
lib/cocoapods-podtarget-optimize.rb

Defined Under Namespace

Classes: PodTargetInstaller

Instance Method Summary collapse

Instance Method Details

#install_librariesObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/cocoapods-podtarget-optimize.rb', line 40

def install_libraries
  UI.message '- Installing targets' do
    pod_targets.sort_by(&:name).each do |pod_target|
      next if pod_target.target_definition.dependencies.empty?
      target_installer = PodTargetInstaller.new(sandbox, pod_target)
      target_installer.install!
    end

    aggregate_targets.sort_by(&:name).each do |target|
      next if target.target_definition.dependencies.empty?
      target_installer = AggregateTargetInstaller.new(sandbox, target)
      target_installer.install!
    end

    # TODO
    # Move and add specs
    pod_targets.sort_by(&:name).each do |pod_target|
      pod_target.file_accessors.each do |file_accessor|
        file_accessor.spec_consumer.frameworks.each do |framework|
          ########################## Added ############################
          # only config when the target is exist
          next if pod_target.native_target.nil?
          ########################## Added ############################
          pod_target.native_target.add_system_framework(framework)
        end
      end
    end
  end
end

#set_target_dependenciesObject



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/cocoapods-podtarget-optimize.rb', line 70

def set_target_dependencies
  aggregate_targets.each do |aggregate_target|
    aggregate_target.pod_targets.each do |pod_target|
      ########################## Added ############################
      # only config when the target is exist
      next if pod_target.native_target.nil?
      ########################## Added ############################
      aggregate_target.native_target.add_dependency(pod_target.native_target)
      pod_target.dependencies.each do |dep|

        unless dep == pod_target.pod_name
          pod_dependency_target = aggregate_target.pod_targets.find { |target| target.pod_name == dep }
          # TODO remove me
          unless pod_dependency_target
            puts "[BUG] DEP: #{dep}"
          end
          ########################## Added ############################
          # only config when the target is exist
          next if pod_dependency_target.native_target.nil?
          ########################## Added ############################
          pod_target.native_target.add_dependency(pod_dependency_target.native_target)
        end
      end
    end
  end
end