Sha256: e6dc1f24345958064753a21144c95640e575116f249a047f5b83b52dcb8d15bb

Contents?: true

Size: 1.64 KB

Versions: 7

Compression:

Stored size: 1.64 KB

Contents

module Pod
    class Podfile
      class TargetDefinition
        def detect_prebuilt_pod(name, requirements)
          options = requirements.last || {}

          # prebuild
          @explicit_prebuild_pod_names ||= []
          @reject_prebuild_pod_names ||= []
          @explicit_prebuild_pod_names << Specification.root_name(name) if options.is_a?(Hash) && options[:binary]
          @reject_prebuild_pod_names << Specification.root_name(name) if options.is_a?(Hash) && options.include?(:binary) && !options[:binary]
          
          # header search path
          @explicit_header_search_pod_names ||= []
          @reject_header_search_pod_names ||= []
          @explicit_header_search_pod_names << Specification.root_name(name) if options.is_a?(Hash) && options[:framework_header_search]
          @reject_header_search_pod_names << Specification.root_name(name) if options.is_a?(Hash) && options.include?(:framework_header_search) && !options[:framework_header_search]

          options.delete(:binary) if options.is_a?(Hash)
          options.delete(:framework_header_search) if options.is_a?(Hash)
          requirements.pop if options.empty?
        end
  
        # ---- patch method ----
        # We want modify `store_pod` method, but it's hard to insert a line in the
        # implementation. So we patch a method called in `store_pod`.
        original_parse_inhibit_warnings = instance_method(:parse_inhibit_warnings)
        define_method(:parse_inhibit_warnings) do |name, requirements|
          detect_prebuilt_pod(name, requirements)
          original_parse_inhibit_warnings.bind(self).call(name, requirements)
        end
      end
    end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cocoapods-jxedt-0.0.16 lib/cocoapods-jxedt/binary/helper/target_definition.rb
cocoapods-jxedt-0.0.15 lib/cocoapods-jxedt/binary/helper/target_definition.rb
cocoapods-jxedt-0.0.14 lib/cocoapods-jxedt/binary/helper/target_definition.rb
cocoapods-jxedt-0.0.13 lib/cocoapods-jxedt/binary/helper/target_definition.rb
cocoapods-jxedt-0.0.12 lib/cocoapods-jxedt/binary/helper/target_definition.rb
cocoapods-jxedt-0.0.10 lib/cocoapods-jxedt/binary/helper/target_definition.rb
cocoapods-jxedt-0.0.9 lib/cocoapods-jxedt/binary/helper/target_definition.rb