Method: Pod::Podfile::TargetDefinition#use_modular_headers_hash

Defined in:
lib/cocoapods-core/podfile/target_definition.rb

#use_modular_headers_hashHash<String, Array>

Returns the use_modular_headers hash pre-populated with default values.

Returns:

  • (Hash<String, Array>)

    Hash with :all key for building all pods as modules, :for_pods key for building as module per Pod, and :not_for_pods key for not biulding as module per Pod.



535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
# File 'lib/cocoapods-core/podfile/target_definition.rb', line 535

def use_modular_headers_hash
  raw_hash = raw_use_modular_headers_hash
  if exclusive?
    raw_hash
  else
    parent_hash = parent.send(:use_modular_headers_hash).dup
    if parent_hash['not_for_pods']
      # Remove pods that are set to not use modular headers inside parent
      # if they are set to use modular headers inside current target.
      parent_hash['not_for_pods'] -= Array(raw_hash['for_pods'])
    end
    if parent_hash['for_pods']
      # Remove pods that are set to use modular headers inside parent if they are set to not use modular headers inside current target.
      parent_hash['for_pods'] -= Array(raw_hash['for_pods'])
    end
    if raw_hash['all']
      # Clean pods that are set to not use modular headers inside parent if use_modular_headers! was set.
      parent_hash['not_for_pods'] = nil
    end
    parent_hash.merge(raw_hash) do |_, l, r|
      Array(l).concat(r).uniq
    end
  end
end