cocoapods 1.8.0.beta.2 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/installer/analyzer.rb +12 -0
- data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_dependency_installer.rb +0 -16
- data/lib/cocoapods/target.rb +12 -0
- data/lib/cocoapods/target/aggregate_target.rb +1 -0
- data/lib/cocoapods/target/build_settings.rb +13 -4
- data/lib/cocoapods/target/pod_target.rb +3 -3
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8cf684c8d5f39c524afdfdd61a68939692518f42410a5d4a2dc5f71bba69385b
         | 
| 4 | 
            +
              data.tar.gz: bcd14fdf35cf587a0211ba7b62bcda10c13c6788adddf3d15fa3f015f44e3b17
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 5590a894895b68856d4aae86582f45cfb58772d53fb57c684e450bde890546d8435f9e9e7e4bd2fc38234dd7db5b8b44b2e0b34a07c8493465ebc47b873b9aec
         | 
| 7 | 
            +
              data.tar.gz: 280f430c71c5fe5dcd64348ed94ba05f3fd3f293f512eb154488bdb281125b0ee16231faf1ce3e9870f61ffa53737b8344df474a06cede03847132e249b363e3
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -4,6 +4,28 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides | |
| 4 4 |  | 
| 5 5 | 
             
            To install release candidates run `[sudo] gem install cocoapods --pre`
         | 
| 6 6 |  | 
| 7 | 
            +
            ## 1.8.0 (2019-09-23)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ##### Enhancements
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            * None.  
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ##### Bug Fixes
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            * Include dependent vendored frameworks in linker flags  
         | 
| 16 | 
            +
              [Alex Coomans](https://github.com/drcapulet)
         | 
| 17 | 
            +
              [#9045]((https://github.com/CocoaPods/CocoaPods/pull/9045)
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            * Correctly set deployment target for non library specs even if the root spec does not specify one.  
         | 
| 20 | 
            +
              [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
         | 
| 21 | 
            +
              [#9153](https://github.com/CocoaPods/CocoaPods/pull/9153)
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            * Make `APPLICATION_EXTENSION_API_ONLY` build setting not break when performing a cached incremental install.  
         | 
| 24 | 
            +
              [Igor Makarov](https://github.com/igor-makarov)
         | 
| 25 | 
            +
              [#8967](https://github.com/CocoaPods/CocoaPods/issues/8967)
         | 
| 26 | 
            +
              [#9141](https://github.com/CocoaPods/CocoaPods/issues/9141)
         | 
| 27 | 
            +
              [#9142](https://github.com/CocoaPods/CocoaPods/pull/9142)
         | 
| 28 | 
            +
             | 
| 7 29 | 
             
            ## 1.8.0.beta.2 (2019-08-27)
         | 
| 8 30 |  | 
| 9 31 | 
             
            ##### Enhancements
         | 
| @@ -438,6 +438,18 @@ module Pod | |
| 438 438 | 
             
                      end
         | 
| 439 439 | 
             
                      target.search_paths_aggregate_targets.concat(search_paths_aggregate_targets).freeze
         | 
| 440 440 | 
             
                    end
         | 
| 441 | 
            +
             | 
| 442 | 
            +
                    aggregate_targets.each do |aggregate_target|
         | 
| 443 | 
            +
                      is_app_extension = !(aggregate_target.user_targets.map(&:symbol_type) &
         | 
| 444 | 
            +
                          [:app_extension, :watch_extension, :watch2_extension, :tv_extension, :messages_extension]).empty?
         | 
| 445 | 
            +
                      is_app_extension ||= aggregate_target.user_targets.any? { |ut| ut.common_resolved_build_setting('APPLICATION_EXTENSION_API_ONLY') == 'YES' }
         | 
| 446 | 
            +
             | 
| 447 | 
            +
                      next unless is_app_extension
         | 
| 448 | 
            +
             | 
| 449 | 
            +
                      aggregate_target.mark_application_extension_api_only
         | 
| 450 | 
            +
                      aggregate_target.pod_targets.each(&:mark_application_extension_api_only)
         | 
| 451 | 
            +
                    end
         | 
| 452 | 
            +
             | 
| 441 453 | 
             
                    if installation_options.integrate_targets?
         | 
| 442 454 | 
             
                      # Copy embedded target pods that cannot have their pods embedded as frameworks to
         | 
| 443 455 | 
             
                      # their host targets, and ensure we properly link library pods to their host targets
         | 
    
        data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_dependency_installer.rb
    CHANGED
    
    | @@ -41,10 +41,6 @@ module Pod | |
| 41 41 | 
             
                        aggregate_target = aggregate_target_installation_result.target
         | 
| 42 42 | 
             
                        aggregate_native_target = aggregate_target_installation_result.native_target
         | 
| 43 43 | 
             
                        project = aggregate_native_target.project
         | 
| 44 | 
            -
                        is_app_extension = !(aggregate_target.user_targets.map(&:symbol_type) &
         | 
| 45 | 
            -
                            [:app_extension, :watch_extension, :watch2_extension, :tv_extension, :messages_extension]).empty?
         | 
| 46 | 
            -
                        is_app_extension ||= aggregate_target.user_targets.any? { |ut| ut.common_resolved_build_setting('APPLICATION_EXTENSION_API_ONLY') == 'YES' }
         | 
| 47 | 
            -
                        configure_app_extension_api_only_to_native_target(aggregate_native_target) if is_app_extension
         | 
| 48 44 | 
             
                        # Wire up dependencies that are part of inherit search paths for this aggregate target.
         | 
| 49 45 | 
             
                        aggregate_target.search_paths_aggregate_targets.each do |search_paths_target|
         | 
| 50 46 | 
             
                          aggregate_native_target.add_dependency(aggregate_target_installation_results[search_paths_target.name].native_target)
         | 
| @@ -54,7 +50,6 @@ module Pod | |
| 54 50 | 
             
                          if pod_target_installation_result = pod_target_installation_results[pod_target.name]
         | 
| 55 51 | 
             
                            pod_target_native_target = pod_target_installation_result.native_target
         | 
| 56 52 | 
             
                            aggregate_native_target.add_dependency(pod_target_native_target)
         | 
| 57 | 
            -
                            configure_app_extension_api_only_to_native_target(pod_target_native_target) if is_app_extension
         | 
| 58 53 | 
             
                          else
         | 
| 59 54 | 
             
                            # Hit the cache
         | 
| 60 55 | 
             
                            is_local = sandbox.local?(pod_target.pod_name)
         | 
| @@ -65,17 +60,6 @@ module Pod | |
| 65 60 | 
             
                        end
         | 
| 66 61 | 
             
                      end
         | 
| 67 62 | 
             
                    end
         | 
| 68 | 
            -
             | 
| 69 | 
            -
                    private
         | 
| 70 | 
            -
             | 
| 71 | 
            -
                    # Sets the APPLICATION_EXTENSION_API_ONLY build setting to YES for all
         | 
| 72 | 
            -
                    # configurations of the given native target.
         | 
| 73 | 
            -
                    #
         | 
| 74 | 
            -
                    def configure_app_extension_api_only_to_native_target(native_target)
         | 
| 75 | 
            -
                      native_target.build_configurations.each do |config|
         | 
| 76 | 
            -
                        config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'YES'
         | 
| 77 | 
            -
                      end
         | 
| 78 | 
            -
                    end
         | 
| 79 63 | 
             
                  end
         | 
| 80 64 | 
             
                end
         | 
| 81 65 | 
             
              end
         | 
    
        data/lib/cocoapods/target.rb
    CHANGED
    
    | @@ -46,6 +46,10 @@ module Pod | |
| 46 46 | 
             
                attr_reader :build_type
         | 
| 47 47 | 
             
                private :build_type
         | 
| 48 48 |  | 
| 49 | 
            +
                # @return [Boolean] whether the target can be linked to app extensions only.
         | 
| 50 | 
            +
                #
         | 
| 51 | 
            +
                attr_reader :application_extension_api_only
         | 
| 52 | 
            +
             | 
| 49 53 | 
             
                # Initialize a new target
         | 
| 50 54 | 
             
                #
         | 
| 51 55 | 
             
                # @param [Sandbox] sandbox @see #sandbox
         | 
| @@ -63,6 +67,7 @@ module Pod | |
| 63 67 | 
             
                  @platform = platform
         | 
| 64 68 | 
             
                  @build_type = build_type
         | 
| 65 69 |  | 
| 70 | 
            +
                  @application_extension_api_only = false
         | 
| 66 71 | 
             
                  @build_settings = create_build_settings
         | 
| 67 72 | 
             
                end
         | 
| 68 73 |  | 
| @@ -302,6 +307,13 @@ module Pod | |
| 302 307 | 
             
                  support_files_dir + "#{label}-dummy.m"
         | 
| 303 308 | 
             
                end
         | 
| 304 309 |  | 
| 310 | 
            +
                # mark the target as extension-only,
         | 
| 311 | 
            +
                # translates to APPLICATION_EXTENSION_API_ONLY = YES in the build settings
         | 
| 312 | 
            +
                #
         | 
| 313 | 
            +
                def mark_application_extension_api_only
         | 
| 314 | 
            +
                  @application_extension_api_only = true
         | 
| 315 | 
            +
                end
         | 
| 316 | 
            +
             | 
| 305 317 | 
             
                #-------------------------------------------------------------------------#
         | 
| 306 318 |  | 
| 307 319 | 
             
                private
         | 
| @@ -98,6 +98,7 @@ module Pod | |
| 98 98 | 
             
                  AggregateTarget.new(sandbox, host_requires_frameworks, user_build_configurations, archs, platform,
         | 
| 99 99 | 
             
                                      target_definition, client_root, user_project, user_target_uuids, merged, :build_type => build_type).tap do |aggregate_target|
         | 
| 100 100 | 
             
                    aggregate_target.search_paths_aggregate_targets.concat(search_paths_aggregate_targets).freeze
         | 
| 101 | 
            +
                    aggregate_target.mark_application_extension_api_only if application_extension_api_only
         | 
| 101 102 | 
             
                  end
         | 
| 102 103 | 
             
                end
         | 
| 103 104 |  | 
| @@ -564,12 +564,16 @@ module Pod | |
| 564 564 |  | 
| 565 565 | 
             
                      frameworks = []
         | 
| 566 566 | 
             
                      frameworks.concat consumer_frameworks
         | 
| 567 | 
            -
                      if library_xcconfig? | 
| 568 | 
            -
                         | 
| 569 | 
            -
             | 
| 570 | 
            -
             | 
| 567 | 
            +
                      if library_xcconfig?
         | 
| 568 | 
            +
                        # We know that this library target is being built dynamically based
         | 
| 569 | 
            +
                        # on the guard above, so include any vendored static frameworks.
         | 
| 570 | 
            +
                        frameworks.concat vendored_static_frameworks.map { |l| File.basename(l, '.framework') } if target.should_build?
         | 
| 571 | 
            +
                        # Also include any vendored dynamic frameworks of dependencies.
         | 
| 572 | 
            +
                        frameworks.concat dependent_targets.reject(&:should_build?).flat_map { |pt| pt.build_settings.dynamic_frameworks_to_import }
         | 
| 573 | 
            +
                      else
         | 
| 571 574 | 
             
                        frameworks.concat dependent_targets_to_link.flat_map { |pt| pt.build_settings.frameworks_to_import }
         | 
| 572 575 | 
             
                      end
         | 
| 576 | 
            +
             | 
| 573 577 | 
             
                      frameworks
         | 
| 574 578 | 
             
                    end
         | 
| 575 579 |  | 
| @@ -856,6 +860,11 @@ module Pod | |
| 856 860 | 
             
                      target.configuration_build_dir(CONFIGURATION_BUILD_DIR_VARIABLE)
         | 
| 857 861 | 
             
                    end
         | 
| 858 862 |  | 
| 863 | 
            +
                    # @return [String]
         | 
| 864 | 
            +
                    define_build_settings_method :application_extension_api_only, :build_setting => true, :memoized => true do
         | 
| 865 | 
            +
                      target.application_extension_api_only ? 'YES' : nil
         | 
| 866 | 
            +
                    end
         | 
| 867 | 
            +
             | 
| 859 868 | 
             
                    #-------------------------------------------------------------------------#
         | 
| 860 869 |  | 
| 861 870 | 
             
                    # @!group Target Properties
         | 
| @@ -415,12 +415,12 @@ module Pod | |
| 415 415 |  | 
| 416 416 | 
             
                # @param [Specification] spec The non library spec to calculate the deployment target for.
         | 
| 417 417 | 
             
                #
         | 
| 418 | 
            -
                # @return [String] The deployment target to use for the non library spec. If the  | 
| 419 | 
            -
                #         one used otherwise the one  | 
| 418 | 
            +
                # @return [String] The deployment target to use for the non library spec. If the non library spec explicitly
         | 
| 419 | 
            +
                #         specifies one then this is the one used otherwise the one that was determined by the analyzer is used.
         | 
| 420 420 | 
             
                #
         | 
| 421 421 | 
             
                def deployment_target_for_non_library_spec(spec)
         | 
| 422 422 | 
             
                  raise ArgumentError, 'Must be a non library spec.' unless spec.non_library_specification?
         | 
| 423 | 
            -
                  spec.deployment_target(platform.name)
         | 
| 423 | 
            +
                  spec.deployment_target(platform.name.to_s) || platform.deployment_target.to_s
         | 
| 424 424 | 
             
                end
         | 
| 425 425 |  | 
| 426 426 | 
             
                # Returns the corresponding native product type to use given the test type.
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cocoapods
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.8.0 | 
| 4 | 
            +
              version: 1.8.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Eloy Duran
         | 
| @@ -11,7 +11,7 @@ authors: | |
| 11 11 | 
             
            autorequire: 
         | 
| 12 12 | 
             
            bindir: bin
         | 
| 13 13 | 
             
            cert_chain: []
         | 
| 14 | 
            -
            date: 2019- | 
| 14 | 
            +
            date: 2019-09-23 00:00:00.000000000 Z
         | 
| 15 15 | 
             
            dependencies:
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 17 17 | 
             
              name: cocoapods-core
         | 
| @@ -19,14 +19,14 @@ dependencies: | |
| 19 19 | 
             
                requirements:
         | 
| 20 20 | 
             
                - - '='
         | 
| 21 21 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 | 
            -
                    version: 1.8.0 | 
| 22 | 
            +
                    version: 1.8.0
         | 
| 23 23 | 
             
              type: :runtime
         | 
| 24 24 | 
             
              prerelease: false
         | 
| 25 25 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 26 26 | 
             
                requirements:
         | 
| 27 27 | 
             
                - - '='
         | 
| 28 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version: 1.8.0 | 
| 29 | 
            +
                    version: 1.8.0
         | 
| 30 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 31 | 
             
              name: claide
         | 
| 32 32 | 
             
              requirement: !ruby/object:Gem::Requirement
         |