cocoapods 1.7.0.beta.1 → 1.7.0.beta.2
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 +45 -0
 - data/lib/cocoapods/gem_version.rb +1 -1
 - data/lib/cocoapods/generator/embed_frameworks_script.rb +2 -2
 - data/lib/cocoapods/installer/analyzer/podfile_dependency_cache.rb +1 -0
 - data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +23 -4
 - data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +11 -4
 - data/lib/cocoapods/resolver.rb +2 -2
 - data/lib/cocoapods/resolver/lazy_specification.rb +2 -2
 - data/lib/cocoapods/sources_manager.rb +6 -1
 - data/lib/cocoapods/validator.rb +19 -21
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 91a0b13ca93c3781d072736e1e1ff9d200dd43c9
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: '0265518cae07022eca43ac72ae9e011dbc9b93bc'
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: faf6624fea1e6e33486154b899249c986058e121801e50109ec60fad4c4ee10f3b9669b5a814d2c1a7915e6013cc7d7870942a9b1898e28b53d049876b54388f
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 9d102fcddf3d7e680fdfa3d9a6665be1a644ebf8b9489556f084c5d0d2fe71be5187f04427f2fd803730344c50c5b5cb30b18083406d3c942fac145d85b6f28a
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -4,6 +4,51 @@ 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.7.0.beta.2 (2019-03-08)
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            ##### Enhancements
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            * Integrate `xcfilelist` input/output paths for script phases.  
         
     | 
| 
      
 12 
     | 
    
         
            +
              [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
         
     | 
| 
      
 13 
     | 
    
         
            +
              [#8585](https://github.com/CocoaPods/CocoaPods/pull/8585)
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            ##### Bug Fixes
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            * Do not warn of `.swift-version` file being deprecated if pod does not use Swift.  
         
     | 
| 
      
 18 
     | 
    
         
            +
              [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
         
     | 
| 
      
 19 
     | 
    
         
            +
              [#8593](https://github.com/CocoaPods/CocoaPods/pull/8593)
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            * Generate sibling targets for incremental installation.  
         
     | 
| 
      
 22 
     | 
    
         
            +
              [Sebastian Shanus](https://github.com/sebastianv1) & [Igor Makarov](https://github.com/igor-makarov)
         
     | 
| 
      
 23 
     | 
    
         
            +
              [#8577](https://github.com/CocoaPods/CocoaPods/issues/8577)
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            * Validator should filter our app specs from subspec analysis.  
         
     | 
| 
      
 26 
     | 
    
         
            +
              [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
         
     | 
| 
      
 27 
     | 
    
         
            +
              [#8592](https://github.com/CocoaPods/CocoaPods/pull/8592)
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
            * Do not warn that `--swift-version` parameter is deprecated.  
         
     | 
| 
      
 30 
     | 
    
         
            +
              [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
         
     | 
| 
      
 31 
     | 
    
         
            +
              [#8586](https://github.com/CocoaPods/CocoaPods/pull/8586)
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            * Include `bcsymbolmap` file output paths into script phase.  
         
     | 
| 
      
 34 
     | 
    
         
            +
              [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
         
     | 
| 
      
 35 
     | 
    
         
            +
              [#8563](https://github.com/CocoaPods/CocoaPods/pull/8563)
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            * Copy `bcsymbolmap` files into correct destination to avoid invalid app archives  
         
     | 
| 
      
 38 
     | 
    
         
            +
              [florianbuerger](https://github.com/florianbuerger)
         
     | 
| 
      
 39 
     | 
    
         
            +
              [#8558](https://github.com/CocoaPods/CocoaPods/pull/8558)
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            * Fix: unset GIT_DIR and GIT_WORK_TREE for git operations  
         
     | 
| 
      
 42 
     | 
    
         
            +
              [tripleCC](https://github.com/tripleCC)
         
     | 
| 
      
 43 
     | 
    
         
            +
              [#7958](https://github.com/CocoaPods/CocoaPods/issues/7958)
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            * Do not use spaces around variable assignment in generated embed framework script  
         
     | 
| 
      
 46 
     | 
    
         
            +
              [florianbuerger](https://github.com/florianbuerger)
         
     | 
| 
      
 47 
     | 
    
         
            +
              [#8548](https://github.com/CocoaPods/CocoaPods/pull/8548)
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            * Do not link specs into user targets that are only used by app specs.  
         
     | 
| 
      
 50 
     | 
    
         
            +
              [Samuel Giddins](https://github.com/segiddins)
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
       7 
52 
     | 
    
         
             
            ## 1.7.0.beta.1 (2019-02-22)
         
     | 
| 
       8 
53 
     | 
    
         | 
| 
       9 
54 
     | 
    
         
             
            ##### Enhancements
         
     | 
| 
         @@ -156,8 +156,8 @@ module Pod 
     | 
|
| 
       156 
156 
     | 
    
         | 
| 
       157 
157 
     | 
    
         
             
                      # Copies the bcsymbolmap files of a vendored framework
         
     | 
| 
       158 
158 
     | 
    
         
             
                      install_bcsymbolmap() {
         
     | 
| 
       159 
     | 
    
         
            -
                          local bcsymbolmap_path 
     | 
| 
       160 
     | 
    
         
            -
                          local destination="${ 
     | 
| 
      
 159 
     | 
    
         
            +
                          local bcsymbolmap_path="$1"
         
     | 
| 
      
 160 
     | 
    
         
            +
                          local destination="${BUILT_PRODUCTS_DIR}"
         
     | 
| 
       161 
161 
     | 
    
         
             
                          echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${bcsymbolmap_path}\" \"${destination}\""
         
     | 
| 
       162 
162 
     | 
    
         
             
                          rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
         
     | 
| 
       163 
163 
     | 
    
         
             
                      }
         
     | 
| 
         @@ -37,6 +37,7 @@ module Pod 
     | 
|
| 
       37 
37 
     | 
    
         
             
                    #         A warmed, immutable cache of all the dependencies in the {Podfile}
         
     | 
| 
       38 
38 
     | 
    
         
             
                    #
         
     | 
| 
       39 
39 
     | 
    
         
             
                    def self.from_podfile(podfile)
         
     | 
| 
      
 40 
     | 
    
         
            +
                      raise ArgumentError, 'Must be initialized with a podfile' unless podfile
         
     | 
| 
       40 
41 
     | 
    
         
             
                      podfile_dependencies = []
         
     | 
| 
       41 
42 
     | 
    
         
             
                      dependencies_by_target_definition = {}
         
     | 
| 
       42 
43 
     | 
    
         
             
                      podfile.target_definition_list.each do |target_definition|
         
     | 
| 
         @@ -75,28 +75,42 @@ module Pod 
     | 
|
| 
       75 
75 
     | 
    
         
             
                        return full_install_results
         
     | 
| 
       76 
76 
     | 
    
         
             
                      end
         
     | 
| 
       77 
77 
     | 
    
         | 
| 
      
 78 
     | 
    
         
            +
                      pod_targets_to_generate = Set[]
         
     | 
| 
      
 79 
     | 
    
         
            +
                      aggregate_targets_to_generate = Set[]
         
     | 
| 
       78 
80 
     | 
    
         
             
                      added_targets, removed_targets = compute_added_and_removed_targets(target_by_label,
         
     | 
| 
       79 
81 
     | 
    
         
             
                                                                                         cache_key_by_target_label.keys,
         
     | 
| 
       80 
82 
     | 
    
         
             
                                                                                         cache.cache_key_by_target_label.keys)
         
     | 
| 
       81 
83 
     | 
    
         
             
                      added_pod_targets, added_aggregate_targets = added_targets.partition { |target| target.is_a?(PodTarget) }
         
     | 
| 
       82 
84 
     | 
    
         
             
                      removed_aggregate_targets = removed_targets.select { |target| target.is_a?(AggregateTarget) }
         
     | 
| 
      
 85 
     | 
    
         
            +
                      pod_targets_to_generate.merge(added_pod_targets)
         
     | 
| 
      
 86 
     | 
    
         
            +
                      aggregate_targets_to_generate.merge(added_aggregate_targets + removed_aggregate_targets)
         
     | 
| 
       83 
87 
     | 
    
         | 
| 
       84 
88 
     | 
    
         
             
                      changed_targets = compute_changed_targets_from_cache(cache_key_by_target_label, target_by_label, cache)
         
     | 
| 
       85 
89 
     | 
    
         
             
                      changed_pod_targets, changed_aggregate_targets = changed_targets.partition { |target| target.is_a?(PodTarget) }
         
     | 
| 
      
 90 
     | 
    
         
            +
                      pod_targets_to_generate.merge(changed_pod_targets)
         
     | 
| 
      
 91 
     | 
    
         
            +
                      aggregate_targets_to_generate.merge(changed_aggregate_targets)
         
     | 
| 
       86 
92 
     | 
    
         | 
| 
       87 
93 
     | 
    
         
             
                      dirty_targets = compute_dirty_targets(pod_targets + aggregate_targets)
         
     | 
| 
       88 
94 
     | 
    
         
             
                      dirty_pod_targets, dirty_aggregate_targets = dirty_targets.partition { |target| target.is_a?(PodTarget) }
         
     | 
| 
      
 95 
     | 
    
         
            +
                      pod_targets_to_generate.merge(dirty_pod_targets)
         
     | 
| 
      
 96 
     | 
    
         
            +
                      aggregate_targets_to_generate.merge(dirty_aggregate_targets)
         
     | 
| 
       89 
97 
     | 
    
         | 
| 
       90 
     | 
    
         
            -
                       
     | 
| 
      
 98 
     | 
    
         
            +
                      # Since multi xcodeproj will group targets by PodTarget#pod_name into individual projects, we
         
     | 
| 
      
 99 
     | 
    
         
            +
                      # need to append these "sibling" targets to the list of targets we need to generate before finalizing the total list,
         
     | 
| 
      
 100 
     | 
    
         
            +
                      # otherwise we will end up with missing targets.
         
     | 
| 
      
 101 
     | 
    
         
            +
                      #
         
     | 
| 
      
 102 
     | 
    
         
            +
                      sibling_pod_targets = compute_sibling_pod_targets(pod_targets, pod_targets_to_generate)
         
     | 
| 
      
 103 
     | 
    
         
            +
                      pod_targets_to_generate.merge(sibling_pod_targets)
         
     | 
| 
       91 
104 
     | 
    
         | 
| 
       92 
105 
     | 
    
         
             
                      # We either return the full list of aggregate targets or none since the aggregate targets go into the Pods.xcodeproj
         
     | 
| 
       93 
106 
     | 
    
         
             
                      # and so we need to regenerate all aggregate targets when regenerating Pods.xcodeproj.
         
     | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
                      total_aggregate_targets_to_generate =
         
     | 
| 
      
 109 
     | 
    
         
            +
                        unless aggregate_targets_to_generate.empty?
         
     | 
| 
       96 
110 
     | 
    
         
             
                          aggregate_targets
         
     | 
| 
       97 
111 
     | 
    
         
             
                        end
         
     | 
| 
       98 
112 
     | 
    
         | 
| 
       99 
     | 
    
         
            -
                      ProjectCacheAnalysisResult.new(pod_targets_to_generate,  
     | 
| 
      
 113 
     | 
    
         
            +
                      ProjectCacheAnalysisResult.new(pod_targets_to_generate.to_a, total_aggregate_targets_to_generate, cache_key_by_target_label,
         
     | 
| 
       100 
114 
     | 
    
         
             
                                                     build_configurations, project_object_version)
         
     | 
| 
       101 
115 
     | 
    
         
             
                    end
         
     | 
| 
       102 
116 
     | 
    
         | 
| 
         @@ -150,6 +164,11 @@ module Pod 
     | 
|
| 
       150 
164 
     | 
    
         
             
                        support_files_dir_exists && xcodeproj_exists
         
     | 
| 
       151 
165 
     | 
    
         
             
                      end
         
     | 
| 
       152 
166 
     | 
    
         
             
                    end
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
      
 168 
     | 
    
         
            +
                    def compute_sibling_pod_targets(pod_targets, pod_targets_to_generate)
         
     | 
| 
      
 169 
     | 
    
         
            +
                      pod_targets_by_name = pod_targets.group_by(&:pod_name)
         
     | 
| 
      
 170 
     | 
    
         
            +
                      pod_targets_to_generate.flat_map { |t| pod_targets_by_name[t.pod_name] }
         
     | 
| 
      
 171 
     | 
    
         
            +
                    end
         
     | 
| 
       153 
172 
     | 
    
         
             
                  end
         
     | 
| 
       154 
173 
     | 
    
         
             
                end
         
     | 
| 
       155 
174 
     | 
    
         
             
              end
         
     | 
| 
         @@ -233,6 +233,8 @@ module Pod 
     | 
|
| 
       233 
233 
     | 
    
         
             
                          phase.shell_path = script_phase[:shell_path] || '/bin/sh'
         
     | 
| 
       234 
234 
     | 
    
         
             
                          phase.input_paths = script_phase[:input_files]
         
     | 
| 
       235 
235 
     | 
    
         
             
                          phase.output_paths = script_phase[:output_files]
         
     | 
| 
      
 236 
     | 
    
         
            +
                          phase.input_file_list_paths = script_phase[:input_file_lists]
         
     | 
| 
      
 237 
     | 
    
         
            +
                          phase.output_file_list_paths = script_phase[:output_file_lists]
         
     | 
| 
       236 
238 
     | 
    
         
             
                          # At least with Xcode 10 `showEnvVarsInLog` is *NOT* set to any value even if it's checked and it only
         
     | 
| 
       237 
239 
     | 
    
         
             
                          # gets set to '0' if the user has explicitly disabled this.
         
     | 
| 
       238 
240 
     | 
    
         
             
                          if (show_env_vars_in_log = script_phase.fetch(:show_env_vars_in_log, '1')) == '0'
         
     | 
| 
         @@ -324,10 +326,15 @@ module Pod 
     | 
|
| 
       324 
326 
     | 
    
         
             
                      def framework_output_paths(framework_input_paths)
         
     | 
| 
       325 
327 
     | 
    
         
             
                        framework_input_paths.flat_map do |framework_path|
         
     | 
| 
       326 
328 
     | 
    
         
             
                          framework_output_path = "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/#{File.basename(framework_path.source_path)}"
         
     | 
| 
       327 
     | 
    
         
            -
                           
     | 
| 
       328 
     | 
    
         
            -
             
     | 
| 
       329 
     | 
    
         
            -
             
     | 
| 
       330 
     | 
    
         
            -
                           
     | 
| 
      
 329 
     | 
    
         
            +
                          dsym_output_path = if (dsym_input_path = framework_path.dsym_path)
         
     | 
| 
      
 330 
     | 
    
         
            +
                                               "${DWARF_DSYM_FOLDER_PATH}/#{File.basename(dsym_input_path)}"
         
     | 
| 
      
 331 
     | 
    
         
            +
                                             end
         
     | 
| 
      
 332 
     | 
    
         
            +
                          bcsymbol_output_paths = unless framework_path.bcsymbolmap_paths.nil?
         
     | 
| 
      
 333 
     | 
    
         
            +
                                                    framework_path.bcsymbolmap_paths.map do |bcsymbolmap_path|
         
     | 
| 
      
 334 
     | 
    
         
            +
                                                      "${BUILT_PRODUCTS_DIR}/#{File.basename(bcsymbolmap_path)}"
         
     | 
| 
      
 335 
     | 
    
         
            +
                                                    end
         
     | 
| 
      
 336 
     | 
    
         
            +
                                                  end
         
     | 
| 
      
 337 
     | 
    
         
            +
                          [framework_output_path, dsym_output_path, *bcsymbol_output_paths]
         
     | 
| 
       331 
338 
     | 
    
         
             
                        end.compact.uniq
         
     | 
| 
       332 
339 
     | 
    
         
             
                      end
         
     | 
| 
       333 
340 
     | 
    
         
             
                    end
         
     | 
    
        data/lib/cocoapods/resolver.rb
    CHANGED
    
    | 
         @@ -106,8 +106,8 @@ module Pod 
     | 
|
| 
       106 
106 
     | 
    
         
             
                      resolver_specs_by_target[target] = vertices.
         
     | 
| 
       107 
107 
     | 
    
         
             
                        map do |vertex|
         
     | 
| 
       108 
108 
     | 
    
         
             
                          payload = vertex.payload
         
     | 
| 
       109 
     | 
    
         
            -
                          non_library = (!explicit_dependencies.include?(vertex.name) || payload. 
     | 
| 
       110 
     | 
    
         
            -
                            (vertex.recursive_predecessors & vertices).all? { |v| !explicit_dependencies.include?(v.name) || v.payload. 
     | 
| 
      
 109 
     | 
    
         
            +
                          non_library = (!explicit_dependencies.include?(vertex.name) || payload.non_library_specification?) &&
         
     | 
| 
      
 110 
     | 
    
         
            +
                            (vertex.recursive_predecessors & vertices).all? { |v| !explicit_dependencies.include?(v.name) || v.payload.non_library_specification? }
         
     | 
| 
       111 
111 
     | 
    
         
             
                          spec_source = payload.respond_to?(:spec_source) && payload.spec_source
         
     | 
| 
       112 
112 
     | 
    
         
             
                          ResolverSpecification.new(payload, non_library, spec_source)
         
     | 
| 
       113 
113 
     | 
    
         
             
                        end.
         
     | 
| 
         @@ -21,12 +21,12 @@ module Pod 
     | 
|
| 
       21 
21 
     | 
    
         
             
                      @spec_source = spec_source
         
     | 
| 
       22 
22 
     | 
    
         
             
                    end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
                    def subspec_by_name(name = nil, raise_if_missing = true,  
     | 
| 
      
 24 
     | 
    
         
            +
                    def subspec_by_name(name = nil, raise_if_missing = true, include_non_library_specifications = false)
         
     | 
| 
       25 
25 
     | 
    
         
             
                      subspec =
         
     | 
| 
       26 
26 
     | 
    
         
             
                        if !name || name == self.name
         
     | 
| 
       27 
27 
     | 
    
         
             
                          self
         
     | 
| 
       28 
28 
     | 
    
         
             
                        else
         
     | 
| 
       29 
     | 
    
         
            -
                          specification.subspec_by_name(name, raise_if_missing,  
     | 
| 
      
 29 
     | 
    
         
            +
                          specification.subspec_by_name(name, raise_if_missing, include_non_library_specifications)
         
     | 
| 
       30 
30 
     | 
    
         
             
                        end
         
     | 
| 
       31 
31 
     | 
    
         
             
                      return unless subspec
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
         @@ -106,7 +106,12 @@ module Pod 
     | 
|
| 
       106 
106 
     | 
    
         
             
                def repo_git(args, include_error: false)
         
     | 
| 
       107 
107 
     | 
    
         
             
                  Executable.capture_command('git', ['-C', repo] + args,
         
     | 
| 
       108 
108 
     | 
    
         
             
                                             :capture => include_error ? :merge : :out,
         
     | 
| 
       109 
     | 
    
         
            -
                                             :env => { 
     | 
| 
      
 109 
     | 
    
         
            +
                                             :env => {
         
     | 
| 
      
 110 
     | 
    
         
            +
                                               'GIT_CONFIG' => nil,
         
     | 
| 
      
 111 
     | 
    
         
            +
                                               'GIT_DIR' => nil,
         
     | 
| 
      
 112 
     | 
    
         
            +
                                               'GIT_WORK_TREE' => nil,
         
     | 
| 
      
 113 
     | 
    
         
            +
                                             }
         
     | 
| 
      
 114 
     | 
    
         
            +
                                            ).
         
     | 
| 
       110 
115 
     | 
    
         
             
                    first.strip
         
     | 
| 
       111 
116 
     | 
    
         
             
                end
         
     | 
| 
       112 
117 
     | 
    
         | 
    
        data/lib/cocoapods/validator.rb
    CHANGED
    
    | 
         @@ -125,7 +125,6 @@ module Pod 
     | 
|
| 
       125 
125 
     | 
    
         
             
                  $stdout.flush
         
     | 
| 
       126 
126 
     | 
    
         | 
| 
       127 
127 
     | 
    
         
             
                  perform_linting
         
     | 
| 
       128 
     | 
    
         
            -
                  warn_for_dot_swift_file_deprecation
         
     | 
| 
       129 
128 
     | 
    
         
             
                  perform_extensive_analysis(a_spec) if a_spec && !quick
         
     | 
| 
       130 
129 
     | 
    
         | 
| 
       131 
130 
     | 
    
         
             
                  UI.puts ' -> '.send(result_color) << (a_spec ? a_spec.to_s : file.basename.to_s)
         
     | 
| 
         @@ -350,22 +349,11 @@ module Pod 
     | 
|
| 
       350 
349 
     | 
    
         
             
                  @results.concat(linter.results.to_a)
         
     | 
| 
       351 
350 
     | 
    
         
             
                end
         
     | 
| 
       352 
351 
     | 
    
         | 
| 
       353 
     | 
    
         
            -
                # Warns the user to delete the `.swift-version` file in favor of the `swift_versions` DSL attribute. This is
         
     | 
| 
       354 
     | 
    
         
            -
                # intentionally not a lint warning since we do not want to break existing setups and instead just soft deprecate
         
     | 
| 
       355 
     | 
    
         
            -
                # this slowly.
         
     | 
| 
       356 
     | 
    
         
            -
                #
         
     | 
| 
       357 
     | 
    
         
            -
                def warn_for_dot_swift_file_deprecation
         
     | 
| 
       358 
     | 
    
         
            -
                  if swift_version.nil? && (!spec.nil? && spec.swift_versions.empty?) && !dot_swift_version.nil?
         
     | 
| 
       359 
     | 
    
         
            -
                    UI.warn 'Usage of the `.swift_version` file has been deprecated! Please delete the file and use the ' \
         
     | 
| 
       360 
     | 
    
         
            -
                      "`swift_versions` attribute within your podspec instead.\n".yellow
         
     | 
| 
       361 
     | 
    
         
            -
                  end
         
     | 
| 
       362 
     | 
    
         
            -
                end
         
     | 
| 
       363 
     | 
    
         
            -
             
     | 
| 
       364 
352 
     | 
    
         
             
                # Perform analysis for a given spec (or subspec)
         
     | 
| 
       365 
353 
     | 
    
         
             
                #
         
     | 
| 
       366 
354 
     | 
    
         
             
                def perform_extensive_analysis(spec)
         
     | 
| 
       367 
     | 
    
         
            -
                  if spec. 
     | 
| 
       368 
     | 
    
         
            -
                    error('spec', "Validating a  
     | 
| 
      
 355 
     | 
    
         
            +
                  if spec.non_library_specification?
         
     | 
| 
      
 356 
     | 
    
         
            +
                    error('spec', "Validating a non library spec (`#{spec.name}`) is not supported.")
         
     | 
| 
       369 
357 
     | 
    
         
             
                    return false
         
     | 
| 
       370 
358 
     | 
    
         
             
                  end
         
     | 
| 
       371 
359 
     | 
    
         
             
                  validate_homepage(spec)
         
     | 
| 
         @@ -407,7 +395,7 @@ module Pod 
     | 
|
| 
       407 
395 
     | 
    
         
             
                # Recursively perform the extensive analysis on all subspecs
         
     | 
| 
       408 
396 
     | 
    
         
             
                #
         
     | 
| 
       409 
397 
     | 
    
         
             
                def perform_extensive_subspec_analysis(spec)
         
     | 
| 
       410 
     | 
    
         
            -
                  spec.subspecs.reject(&: 
     | 
| 
      
 398 
     | 
    
         
            +
                  spec.subspecs.reject(&:non_library_specification?).send(fail_fast ? :all? : :each) do |subspec|
         
     | 
| 
       411 
399 
     | 
    
         
             
                    @subspec_name = subspec.name
         
     | 
| 
       412 
400 
     | 
    
         
             
                    perform_extensive_analysis(subspec)
         
     | 
| 
       413 
401 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -487,6 +475,7 @@ module Pod 
     | 
|
| 
       487 
475 
     | 
    
         
             
                def validate_swift_version
         
     | 
| 
       488 
476 
     | 
    
         
             
                  return unless uses_swift?
         
     | 
| 
       489 
477 
     | 
    
         
             
                  spec_swift_versions = spec.swift_versions.map(&:to_s)
         
     | 
| 
      
 478 
     | 
    
         
            +
             
     | 
| 
       490 
479 
     | 
    
         
             
                  unless spec_swift_versions.empty?
         
     | 
| 
       491 
480 
     | 
    
         
             
                    message = nil
         
     | 
| 
       492 
481 
     | 
    
         
             
                    if !dot_swift_version.nil? && !spec_swift_versions.include?(dot_swift_version)
         
     | 
| 
         @@ -501,12 +490,21 @@ module Pod 
     | 
|
| 
       501 
490 
     | 
    
         
             
                    end
         
     | 
| 
       502 
491 
     | 
    
         
             
                  end
         
     | 
| 
       503 
492 
     | 
    
         | 
| 
       504 
     | 
    
         
            -
                  if swift_version.nil? &&  
     | 
| 
       505 
     | 
    
         
            -
                     
     | 
| 
       506 
     | 
    
         
            -
             
     | 
| 
       507 
     | 
    
         
            -
             
     | 
| 
       508 
     | 
    
         
            -
             
     | 
| 
       509 
     | 
    
         
            -
             
     | 
| 
      
 493 
     | 
    
         
            +
                  if swift_version.nil? && spec.swift_versions.empty?
         
     | 
| 
      
 494 
     | 
    
         
            +
                    if !dot_swift_version.nil?
         
     | 
| 
      
 495 
     | 
    
         
            +
                      # The user will be warned to delete the `.swift-version` file in favor of the `swift_versions` DSL attribute.
         
     | 
| 
      
 496 
     | 
    
         
            +
                      # This is intentionally not a lint warning since we do not want to break existing setups and instead just soft
         
     | 
| 
      
 497 
     | 
    
         
            +
                      # deprecate this slowly.
         
     | 
| 
      
 498 
     | 
    
         
            +
                      #
         
     | 
| 
      
 499 
     | 
    
         
            +
                      UI.warn 'Usage of the `.swift_version` file has been deprecated! Please delete the file and use the ' \
         
     | 
| 
      
 500 
     | 
    
         
            +
                        "`swift_versions` attribute within your podspec instead.\n".yellow
         
     | 
| 
      
 501 
     | 
    
         
            +
                    else
         
     | 
| 
      
 502 
     | 
    
         
            +
                      warning('swift',
         
     | 
| 
      
 503 
     | 
    
         
            +
                              'The validator used ' \
         
     | 
| 
      
 504 
     | 
    
         
            +
                              "Swift `#{DEFAULT_SWIFT_VERSION}` by default because no Swift version was specified. " \
         
     | 
| 
      
 505 
     | 
    
         
            +
                              'To specify a Swift version during validation, add the `swift_versions` attribute in your podspec. ' \
         
     | 
| 
      
 506 
     | 
    
         
            +
                              'Note that usage of a `.swift-version` file is now deprecated.')
         
     | 
| 
      
 507 
     | 
    
         
            +
                    end
         
     | 
| 
       510 
508 
     | 
    
         
             
                  end
         
     | 
| 
       511 
509 
     | 
    
         
             
                end
         
     | 
| 
       512 
510 
     | 
    
         | 
    
        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.7.0.beta. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.7.0.beta.2
         
     | 
| 
       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-03-08 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.7.0.beta. 
     | 
| 
      
 22 
     | 
    
         
            +
                    version: 1.7.0.beta.2
         
     | 
| 
       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.7.0.beta. 
     | 
| 
      
 29 
     | 
    
         
            +
                    version: 1.7.0.beta.2
         
     | 
| 
       30 
30 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       31 
31 
     | 
    
         
             
              name: claide
         
     | 
| 
       32 
32 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     |