cocoapods 1.10.0.beta.2 → 1.10.0.rc.1
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 +23 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/copy_xcframework_script.rb +10 -1
- data/lib/cocoapods/installer/project_cache/project_metadata_cache.rb +4 -0
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +4 -2
- data/lib/cocoapods/validator.rb +6 -4
- metadata +5 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2b610fca17dbffb7ed6c959cd5f43bd0ddbf0c2c9b91bb19b03ecf5353804f1a
         | 
| 4 | 
            +
              data.tar.gz: 6bb43720da1072c1824b2dfcc3735ccdd11eba2845ef8be9cb6caf00b47ef6b0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 83a7c0f693ec49044e4766fa0f427a663358bf1c6346fd366d133a60b70d559209a215c019198593210919f2e42fefda4cff0747384ece6c08a75a9489e491d1
         | 
| 7 | 
            +
              data.tar.gz: 945634e14120c0deda48a9ce2397fd77b307f2376ffff84f33162fa73324002776b022833180e4d65e9b3638c7a90d2c1c1891557988e1fd471a65dfe1d9d61a
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,9 +1,31 @@ | |
| 1 1 | 
             
            # Installation & Update
         | 
| 2 2 |  | 
| 3 | 
            -
            To install or update CocoaPods see this [guide]( | 
| 3 | 
            +
            To install or update CocoaPods see this [guide](https://guides.cocoapods.org/using/index.html).
         | 
| 4 4 |  | 
| 5 5 | 
             
            To install release candidates run `[sudo] gem install cocoapods --pre`
         | 
| 6 6 |  | 
| 7 | 
            +
            ## 1.10.0.rc.1 (2020-09-15)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ##### Enhancements
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            * None.  
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ##### Bug Fixes
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            * Fix XCFramework slice selection  
         | 
| 16 | 
            +
              [lowip](https://github.com/lowip)
         | 
| 17 | 
            +
              [#10026](https://github.com/CocoaPods/CocoaPods/issues/10026)
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            * Honor test spec deployment target during validation.  
         | 
| 20 | 
            +
              [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
         | 
| 21 | 
            +
              [#9999](https://github.com/CocoaPods/CocoaPods/pull/9999)
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            * Ensure that incremental installation is able to set target dependencies for a
         | 
| 24 | 
            +
              test spec that uses a custom `app_host_name` that is in a project that is not
         | 
| 25 | 
            +
              regenerated.  
         | 
| 26 | 
            +
              [Samuel Giddins](https://github.com/segiddins)
         | 
| 27 | 
            +
             | 
| 28 | 
            +
             | 
| 7 29 | 
             
            ## 1.10.0.beta.2 (2020-08-12)
         | 
| 8 30 |  | 
| 9 31 | 
             
            ##### Enhancements
         | 
| @@ -100,12 +100,21 @@ select_slice() { | |
| 100 100 | 
             
                    break
         | 
| 101 101 | 
             
                  fi
         | 
| 102 102 |  | 
| 103 | 
            +
                  # Verifies that the path contains the variant string (simulator or maccatalyst) if the variant is set.
         | 
| 104 | 
            +
                  if [[ -z "$target_variant" && ("${paths[$i]}" == *"simulator"* || "${paths[$i]}" == *"maccatalyst"*) ]]; then
         | 
| 105 | 
            +
                    matched_all_archs="0"
         | 
| 106 | 
            +
                    break
         | 
| 107 | 
            +
                  fi
         | 
| 108 | 
            +
             | 
| 103 109 | 
             
                  # This regex matches all possible variants of the arch in the folder name:
         | 
| 104 110 | 
             
                  # Let's say the folder name is: ios-armv7_armv7s_arm64_arm64e/CoconutLib.framework
         | 
| 105 111 | 
             
                  # We match the following: -armv7_, _armv7s_, _arm64_ and _arm64e/.
         | 
| 106 112 | 
             
                  # If we have a specific variant: ios-i386_x86_64-simulator/CoconutLib.framework
         | 
| 107 113 | 
             
                  # We match the following: -i386_ and _x86_64-
         | 
| 108 | 
            -
                   | 
| 114 | 
            +
                  # When the .xcframework wraps a static library, the folder name does not include
         | 
| 115 | 
            +
                  # any .framework. In that case, the folder name can be: ios-arm64_armv7
         | 
| 116 | 
            +
                  # We also match _armv7$ to handle that case.
         | 
| 117 | 
            +
                  local target_arch_regex="[_\\-]${target_arch}([\\/_\\-]|$)"
         | 
| 109 118 | 
             
                  if ! [[ "${paths[$i]}" =~ $target_arch_regex ]]; then
         | 
| 110 119 | 
             
                    matched_all_archs="0"
         | 
| 111 120 | 
             
                    break
         | 
| @@ -54,6 +54,10 @@ module Pod | |
| 54 54 | 
             
                      installation_results.each do |installation_result|
         | 
| 55 55 | 
             
                        native_target = installation_result.native_target
         | 
| 56 56 | 
             
                        target_label_by_metadata[native_target.name] = TargetMetadata.from_native_target(sandbox, native_target)
         | 
| 57 | 
            +
                        # app targets need to be added to the cache because they can be used as app hosts for test targets, even if those test targets live inside a different pod (and thus project)
         | 
| 58 | 
            +
                        installation_result.app_native_targets.each_value do |app_target|
         | 
| 59 | 
            +
                          target_label_by_metadata[app_target.name] = TargetMetadata.from_native_target(sandbox, app_target)
         | 
| 60 | 
            +
                        end
         | 
| 57 61 | 
             
                      end
         | 
| 58 62 | 
             
                    end
         | 
| 59 63 |  | 
    
        data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb
    CHANGED
    
    | @@ -152,11 +152,13 @@ module Pod | |
| 152 152 | 
             
                        target_attributes[test_native_target.uuid.to_s] = { 'TestTargetID' => app_native_target.uuid.to_s }
         | 
| 153 153 | 
             
                        project.root_object.attributes['TargetAttributes'] = target_attributes
         | 
| 154 154 | 
             
                        test_native_target.add_dependency(app_native_target)
         | 
| 155 | 
            -
                       | 
| 155 | 
            +
                      elsif cached_dependency = metadata_cache.target_label_by_metadata[app_host_target_label]
         | 
| 156 156 | 
             
                        # Hit the cache
         | 
| 157 | 
            -
                        cached_dependency = metadata_cache.target_label_by_metadata[app_host_target_label]
         | 
| 158 157 | 
             
                        project.add_cached_subproject_reference(sandbox, cached_dependency, project.dependencies_group)
         | 
| 159 158 | 
             
                        Project.add_cached_dependency(sandbox, test_native_target, cached_dependency)
         | 
| 159 | 
            +
                      else
         | 
| 160 | 
            +
                        raise "Expected to either have an installation or cache result for #{app_host_target_label} (from pod #{app_host_pod_target_label}) " \
         | 
| 161 | 
            +
                          "for target #{test_native_target.name} in project #{project.project_name}"
         | 
| 160 162 | 
             
                      end
         | 
| 161 163 | 
             
                    end
         | 
| 162 164 |  | 
    
        data/lib/cocoapods/validator.rb
    CHANGED
    
    | @@ -556,6 +556,8 @@ module Pod | |
| 556 556 | 
             
                  validation_dir.rmtree
         | 
| 557 557 | 
             
                end
         | 
| 558 558 |  | 
| 559 | 
            +
                # @return [String] The deployment targret of the library spec.
         | 
| 560 | 
            +
                #
         | 
| 559 561 | 
             
                def deployment_target
         | 
| 560 562 | 
             
                  deployment_target = spec.subspec_by_name(subspec_name).deployment_target(consumer.platform_name)
         | 
| 561 563 | 
             
                  if consumer.platform_name == :ios && use_frameworks
         | 
| @@ -711,7 +713,7 @@ module Pod | |
| 711 713 | 
             
                        UI.warn "Skipping compilation with `xcodebuild` because target contains no sources.\n".yellow
         | 
| 712 714 | 
             
                      else
         | 
| 713 715 | 
             
                        if analyze
         | 
| 714 | 
            -
                          output = xcodebuild('analyze', scheme, 'Release')
         | 
| 716 | 
            +
                          output = xcodebuild('analyze', scheme, 'Release', :deployment_target => deployment_target)
         | 
| 715 717 | 
             
                          find_output = Executable.execute_command('find', [validation_dir, '-name', '*.html'], false)
         | 
| 716 718 | 
             
                          if find_output != ''
         | 
| 717 719 | 
             
                            message = 'Static Analysis failed.'
         | 
| @@ -720,7 +722,7 @@ module Pod | |
| 720 722 | 
             
                            error('build_pod', message)
         | 
| 721 723 | 
             
                          end
         | 
| 722 724 | 
             
                        else
         | 
| 723 | 
            -
                          output = xcodebuild('build', scheme, configuration ? configuration : 'Release')
         | 
| 725 | 
            +
                          output = xcodebuild('build', scheme, configuration ? configuration : 'Release', :deployment_target => deployment_target)
         | 
| 724 726 | 
             
                        end
         | 
| 725 727 | 
             
                        parsed_output = parse_xcodebuild_output(output)
         | 
| 726 728 | 
             
                        translate_output_to_linter_messages(parsed_output)
         | 
| @@ -757,7 +759,7 @@ module Pod | |
| 757 759 | 
             
                          UI.warn "Skipping test spec `#{test_spec.name}` on platform `#{consumer.platform_name}` since it is not supported.\n".yellow
         | 
| 758 760 | 
             
                        else
         | 
| 759 761 | 
             
                          scheme = @installer.target_installation_results.first[pod_target.name].native_target_for_spec(test_spec)
         | 
| 760 | 
            -
                          output = xcodebuild('test', scheme, 'Debug')
         | 
| 762 | 
            +
                          output = xcodebuild('test', scheme, 'Debug', :deployment_target => test_spec.deployment_target(consumer.platform_name))
         | 
| 761 763 | 
             
                          parsed_output = parse_xcodebuild_output(output)
         | 
| 762 764 | 
             
                          translate_output_to_linter_messages(parsed_output)
         | 
| 763 765 | 
             
                        end
         | 
| @@ -1048,7 +1050,7 @@ module Pod | |
| 1048 1050 | 
             
                # @return [String] Executes xcodebuild in the current working directory and
         | 
| 1049 1051 | 
             
                #         returns its output (both STDOUT and STDERR).
         | 
| 1050 1052 | 
             
                #
         | 
| 1051 | 
            -
                def xcodebuild(action, scheme, configuration)
         | 
| 1053 | 
            +
                def xcodebuild(action, scheme, configuration, deployment_target:)
         | 
| 1052 1054 | 
             
                  require 'fourflusher'
         | 
| 1053 1055 | 
             
                  command = %W(clean #{action} -workspace #{File.join(validation_dir, 'App.xcworkspace')} -scheme #{scheme} -configuration #{configuration})
         | 
| 1054 1056 | 
             
                  case consumer.platform_name
         | 
    
        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.10.0. | 
| 4 | 
            +
              version: 1.10.0.rc.1
         | 
| 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: 2020- | 
| 14 | 
            +
            date: 2020-09-15 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.10.0. | 
| 22 | 
            +
                    version: 1.10.0.rc.1
         | 
| 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.10.0. | 
| 29 | 
            +
                    version: 1.10.0.rc.1
         | 
| 30 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 31 | 
             
              name: claide
         | 
| 32 32 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -538,7 +538,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 538 538 | 
             
                - !ruby/object:Gem::Version
         | 
| 539 539 | 
             
                  version: '0'
         | 
| 540 540 | 
             
            requirements: []
         | 
| 541 | 
            -
            rubygems_version: 3.0. | 
| 541 | 
            +
            rubygems_version: 3.0.6
         | 
| 542 542 | 
             
            signing_key:
         | 
| 543 543 | 
             
            specification_version: 3
         | 
| 544 544 | 
             
            summary: The Cocoa library package manager.
         |