cocoapods 1.10.0 → 1.11.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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +237 -5
  3. data/README.md +11 -11
  4. data/lib/cocoapods/command/outdated.rb +12 -1
  5. data/lib/cocoapods/command/repo/push.rb +17 -0
  6. data/lib/cocoapods/command/spec.rb +18 -9
  7. data/lib/cocoapods/command/spec/cat.rb +3 -1
  8. data/lib/cocoapods/command/spec/lint.rb +1 -1
  9. data/lib/cocoapods/command/spec/which.rb +3 -1
  10. data/lib/cocoapods/config.rb +1 -1
  11. data/lib/cocoapods/downloader.rb +4 -2
  12. data/lib/cocoapods/downloader/cache.rb +95 -6
  13. data/lib/cocoapods/external_sources/podspec_source.rb +1 -1
  14. data/lib/cocoapods/gem_version.rb +1 -1
  15. data/lib/cocoapods/generator/acknowledgements.rb +1 -1
  16. data/lib/cocoapods/generator/app_target_helper.rb +7 -3
  17. data/lib/cocoapods/generator/copy_dsyms_script.rb +4 -4
  18. data/lib/cocoapods/generator/copy_xcframework_script.rb +2 -18
  19. data/lib/cocoapods/generator/embed_frameworks_script.rb +2 -1
  20. data/lib/cocoapods/generator/script_phase_constants.rb +1 -0
  21. data/lib/cocoapods/installer.rb +52 -4
  22. data/lib/cocoapods/installer/analyzer.rb +12 -8
  23. data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +31 -4
  24. data/lib/cocoapods/installer/podfile_validator.rb +2 -2
  25. data/lib/cocoapods/installer/pre_integrate_hooks_context.rb +9 -0
  26. data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +9 -2
  27. data/lib/cocoapods/installer/project_cache/project_installation_cache.rb +15 -2
  28. data/lib/cocoapods/installer/project_cache/target_cache_key.rb +7 -4
  29. data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +149 -9
  30. data/lib/cocoapods/installer/xcode/pods_project_generator.rb +1 -1
  31. data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +10 -3
  32. data/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb +25 -6
  33. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +6 -19
  34. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +70 -58
  35. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +48 -6
  36. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +2 -2
  37. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +2 -5
  38. data/lib/cocoapods/resolver.rb +4 -4
  39. data/lib/cocoapods/sandbox/file_accessor.rb +57 -10
  40. data/lib/cocoapods/sandbox/headers_store.rb +3 -1
  41. data/lib/cocoapods/sandbox/path_list.rb +1 -1
  42. data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +1 -1
  43. data/lib/cocoapods/sources_manager.rb +14 -8
  44. data/lib/cocoapods/target.rb +1 -1
  45. data/lib/cocoapods/target/aggregate_target.rb +23 -1
  46. data/lib/cocoapods/target/build_settings.rb +45 -20
  47. data/lib/cocoapods/target/pod_target.rb +47 -22
  48. data/lib/cocoapods/user_interface.rb +4 -0
  49. data/lib/cocoapods/validator.rb +25 -5
  50. data/lib/cocoapods/version_metadata.rb +1 -1
  51. data/lib/cocoapods/xcode/xcframework.rb +8 -3
  52. data/lib/cocoapods/xcode/xcframework/xcframework_slice.rb +10 -1
  53. metadata +28 -21
@@ -203,7 +203,7 @@ module Pod
203
203
  end
204
204
  end
205
205
 
206
- # @return [Array<FileAccessor>] The list of all files tracked.
206
+ # @return [Array<Pathname>] The list of all files tracked.
207
207
  #
208
208
  def all_files
209
209
  Sandbox::FileAccessor.all_files(file_accessors)
@@ -268,6 +268,23 @@ module Pod
268
268
  root_spec.module_name
269
269
  end
270
270
 
271
+ # @param [Specification] spec the specification
272
+ #
273
+ # @return [String] the product basename of the specification's target
274
+ def product_basename_for_spec(spec)
275
+ user_specified = build_settings_by_config_for_spec(spec).
276
+ each_value.
277
+ map { |settings| settings.merged_pod_target_xcconfigs['PRODUCT_NAME'] }.
278
+ compact.
279
+ uniq
280
+
281
+ if user_specified.size == 1
282
+ user_specified.first
283
+ else
284
+ spec_label(spec)
285
+ end
286
+ end
287
+
271
288
  # @return [Bool] Whether or not this target should be built.
272
289
  #
273
290
  # A target should not be built if it has no source files.
@@ -294,22 +311,26 @@ module Pod
294
311
  test_specs.map { |test_spec| test_spec.consumer(platform) }
295
312
  end
296
313
 
297
- # @return [Array<Specification::Consumer>] the test specification consumers for
314
+ # @return [Array<Specification::Consumer>] the app specification consumers for
298
315
  # the target.
299
316
  #
300
317
  def app_spec_consumers
301
318
  app_specs.map { |app_spec| app_spec.consumer(platform) }
302
319
  end
303
320
 
304
- # @return [Boolean] Whether the target uses Swift code. This excludes source files from non library specs.
321
+ # Checks whether the target itself plus its specs uses Swift code.
322
+ # This check excludes source files from non library specs.
323
+ # Note that if a target does not need to be built (no source code),
324
+ # we fallback to check whether it indicates a swift version.
325
+ #
326
+ # @return [Boolean] Whether the target uses Swift code.
305
327
  #
306
328
  def uses_swift?
307
329
  return @uses_swift if defined? @uses_swift
308
- @uses_swift = begin
330
+ @uses_swift = (!should_build? && !spec_swift_versions.empty?) ||
309
331
  file_accessors.select { |a| a.spec.library_specification? }.any? do |file_accessor|
310
332
  uses_swift_for_spec?(file_accessor.spec)
311
333
  end
312
- end
313
334
  end
314
335
 
315
336
  # Checks whether a specification uses Swift or not.
@@ -373,7 +394,7 @@ module Pod
373
394
  !test_specs.empty?
374
395
  end
375
396
 
376
- # @return [Boolean] Whether the target has any tests specifications.
397
+ # @return [Boolean] Whether the target has any app specifications.
377
398
  #
378
399
  def contains_app_specifications?
379
400
  !app_specs.empty?
@@ -422,7 +443,7 @@ module Pod
422
443
  @xcframeworks ||= begin
423
444
  file_accessors.each_with_object({}) do |file_accessor, hash|
424
445
  frameworks = file_accessor.vendored_xcframeworks.map do |framework_path|
425
- Xcode::XCFramework.new(framework_path)
446
+ Xcode::XCFramework.new(file_accessor.spec.name, framework_path)
426
447
  end
427
448
  hash[file_accessor.spec.name] = frameworks
428
449
  end
@@ -455,7 +476,7 @@ module Pod
455
476
  prefix = Pod::Target::BuildSettings::CONFIGURATION_BUILD_DIR_VARIABLE
456
477
  prefix = configuration_build_dir unless file_accessor.spec.test_specification?
457
478
  resource_bundle_paths = file_accessor.resource_bundles.keys.map { |name| "#{prefix}/#{name.shellescape}.bundle" }
458
- hash[file_accessor.spec.name] = resource_paths + resource_bundle_paths
479
+ hash[file_accessor.spec.name] = (resource_paths + resource_bundle_paths).map(&:to_s)
459
480
  end
460
481
  end
461
482
  end
@@ -512,7 +533,7 @@ module Pod
512
533
  # @return [Specification] The root specification for the target.
513
534
  #
514
535
  def root_spec
515
- specs.first.root
536
+ @root_spec ||= specs.first.root
516
537
  end
517
538
 
518
539
  # @return [String] The name of the Pod that this target refers to.
@@ -619,13 +640,16 @@ module Pod
619
640
  end
620
641
  end
621
642
 
622
- def non_library_spec_label(spec)
643
+ def spec_label(spec)
623
644
  case spec.spec_type
645
+ when :library then label
624
646
  when :test then test_target_label(spec)
625
647
  when :app then app_target_label(spec)
626
648
  else raise ArgumentError, "Unhandled spec type #{spec.spec_type.inspect} for #{spec.inspect}"
627
649
  end
628
650
  end
651
+ # for backwards compatibility
652
+ alias non_library_spec_label spec_label
629
653
 
630
654
  # @param [Specification] spec
631
655
  # The spec to return scheme configuration for.
@@ -645,7 +669,7 @@ module Pod
645
669
  # @return [Pathname] The absolute path of the copy resources script for the given spec.
646
670
  #
647
671
  def copy_resources_script_path_for_spec(spec)
648
- support_files_dir + "#{non_library_spec_label(spec)}-resources.sh"
672
+ support_files_dir + "#{spec_label(spec)}-resources.sh"
649
673
  end
650
674
 
651
675
  # @param [Specification] spec
@@ -654,7 +678,7 @@ module Pod
654
678
  # @return [Pathname] The absolute path of the copy resources script input file list for the given spec.
655
679
  #
656
680
  def copy_resources_script_input_files_path_for_spec(spec)
657
- support_files_dir + "#{non_library_spec_label(spec)}-resources-input-files.xcfilelist"
681
+ support_files_dir + "#{spec_label(spec)}-resources-input-files.xcfilelist"
658
682
  end
659
683
 
660
684
  # @param [Specification] spec
@@ -663,7 +687,7 @@ module Pod
663
687
  # @return [Pathname] The absolute path of the copy resources script output file list for the given spec.
664
688
  #
665
689
  def copy_resources_script_output_files_path_for_spec(spec)
666
- support_files_dir + "#{non_library_spec_label(spec)}-resources-output-files.xcfilelist"
690
+ support_files_dir + "#{spec_label(spec)}-resources-output-files.xcfilelist"
667
691
  end
668
692
 
669
693
  # @param [Specification] spec
@@ -672,7 +696,7 @@ module Pod
672
696
  # @return [Pathname] The absolute path of the embed frameworks script for the given spec.
673
697
  #
674
698
  def embed_frameworks_script_path_for_spec(spec)
675
- support_files_dir + "#{non_library_spec_label(spec)}-frameworks.sh"
699
+ support_files_dir + "#{spec_label(spec)}-frameworks.sh"
676
700
  end
677
701
 
678
702
  # @param [Specification] spec
@@ -681,7 +705,7 @@ module Pod
681
705
  # @return [Pathname] The absolute path of the embed frameworks script input file list for the given spec.
682
706
  #
683
707
  def embed_frameworks_script_input_files_path_for_spec(spec)
684
- support_files_dir + "#{non_library_spec_label(spec)}-frameworks-input-files.xcfilelist"
708
+ support_files_dir + "#{spec_label(spec)}-frameworks-input-files.xcfilelist"
685
709
  end
686
710
 
687
711
  # @param [Specification] spec
@@ -690,7 +714,7 @@ module Pod
690
714
  # @return [Pathname] The absolute path of the embed frameworks script output file list for the given spec.
691
715
  #
692
716
  def embed_frameworks_script_output_files_path_for_spec(spec)
693
- support_files_dir + "#{non_library_spec_label(spec)}-frameworks-output-files.xcfilelist"
717
+ support_files_dir + "#{spec_label(spec)}-frameworks-output-files.xcfilelist"
694
718
  end
695
719
 
696
720
  # @return [Pathname] The absolute path of the copy xcframeworks script.
@@ -721,7 +745,7 @@ module Pod
721
745
  # @todo Remove in 2.0
722
746
  #
723
747
  def prepare_artifacts_script_path_for_spec(spec)
724
- support_files_dir + "#{non_library_spec_label(spec)}-artifacts.sh"
748
+ support_files_dir + "#{spec_label(spec)}-artifacts.sh"
725
749
  end
726
750
 
727
751
  # @param [Specification] spec
@@ -734,7 +758,7 @@ module Pod
734
758
  # @todo Remove in 2.0
735
759
  #
736
760
  def prepare_artifacts_script_input_files_path_for_spec(spec)
737
- support_files_dir + "#{non_library_spec_label(spec)}-artifacts-input-files.xcfilelist"
761
+ support_files_dir + "#{spec_label(spec)}-artifacts-input-files.xcfilelist"
738
762
  end
739
763
 
740
764
  # @param [Specification] spec
@@ -747,7 +771,7 @@ module Pod
747
771
  # @todo Remove in 2.0
748
772
  #
749
773
  def prepare_artifacts_script_output_files_path_for_spec(spec)
750
- support_files_dir + "#{non_library_spec_label(spec)}-artifacts-output-files.xcfilelist"
774
+ support_files_dir + "#{spec_label(spec)}-artifacts-output-files.xcfilelist"
751
775
  end
752
776
 
753
777
  # @return [Pathname] The absolute path of the copy dSYMs script.
@@ -774,7 +798,7 @@ module Pod
774
798
  # @return [Pathname] The absolute path of the Info.plist for the given spec.
775
799
  #
776
800
  def info_plist_path_for_spec(spec)
777
- support_files_dir + "#{non_library_spec_label(spec)}-Info.plist"
801
+ support_files_dir + "#{spec_label(spec)}-Info.plist"
778
802
  end
779
803
 
780
804
  # @param [Specification] spec
@@ -783,7 +807,7 @@ module Pod
783
807
  # @return [Pathname] the absolute path of the prefix header file for the given spec.
784
808
  #
785
809
  def prefix_header_path_for_spec(spec)
786
- support_files_dir + "#{non_library_spec_label(spec)}-prefix.pch"
810
+ support_files_dir + "#{spec_label(spec)}-prefix.pch"
787
811
  end
788
812
 
789
813
  # @return [Array<String>] The names of the Pods on which this target
@@ -1054,7 +1078,8 @@ module Pod
1054
1078
  #
1055
1079
  def uses_modular_headers?(only_if_defines_modules = true)
1056
1080
  return false if only_if_defines_modules && !defines_module?
1057
- spec_consumers.none?(&:header_mappings_dir) && spec_consumers.none?(&:header_dir)
1081
+ return @uses_modular_headers if defined? @uses_modular_headers
1082
+ @uses_modular_headers = spec_consumers.none?(&:header_mappings_dir) && spec_consumers.none?(&:header_dir)
1058
1083
  end
1059
1084
 
1060
1085
  private
@@ -137,6 +137,10 @@ module Pod
137
137
  # The indentation level relative to the current,
138
138
  # when the message is printed.
139
139
  #
140
+ # @yield The action, this block is always executed.
141
+ #
142
+ # @return [void]
143
+ #
140
144
  def message(message, verbose_prefix = '', relative_indentation = 2)
141
145
  message = verbose_prefix + message if config.verbose?
142
146
  puts_indented message if config.verbose?
@@ -118,7 +118,7 @@ module Pod
118
118
  # Replace default spec with a subspec if asked for
119
119
  a_spec = spec
120
120
  if spec && @only_subspec
121
- subspec_name = @only_subspec.start_with?(spec.root.name) ? @only_subspec : "#{spec.root.name}/#{@only_subspec}"
121
+ subspec_name = @only_subspec.start_with?("#{spec.root.name}/") ? @only_subspec : "#{spec.root.name}/#{@only_subspec}"
122
122
  a_spec = spec.subspec_by_name(subspec_name, true, true)
123
123
  @subspec_name = a_spec.name
124
124
  end
@@ -443,7 +443,7 @@ module Pod
443
443
  if !resp
444
444
  warning('url', "There was a problem validating the URL #{url}.", true)
445
445
  elsif !resp.success?
446
- warning('url', "The URL (#{url}) is not reachable.", true)
446
+ note('url', "The URL (#{url}) is not reachable.", true)
447
447
  end
448
448
 
449
449
  resp
@@ -581,6 +581,9 @@ module Pod
581
581
  def create_app_project
582
582
  app_project = Xcodeproj::Project.new(validation_dir + 'App.xcodeproj')
583
583
  app_target = Pod::Generator::AppTargetHelper.add_app_target(app_project, consumer.platform_name, deployment_target)
584
+ sandbox = Sandbox.new(config.sandbox_root)
585
+ info_plist_path = app_project.path.dirname.+('App/App-Info.plist')
586
+ Pod::Installer::Xcode::PodsProjectGenerator::TargetInstallerHelper.create_info_plist_file_with_sandbox(sandbox, info_plist_path, app_target, '1.0.0', Platform.new(consumer.platform_name), :appl)
584
587
  Pod::Generator::AppTargetHelper.add_swift_version(app_target, derived_swift_version)
585
588
  # Lint will fail if a AppIcon is set but no image is found with such name
586
589
  # Happens only with Static Frameworks enabled but shouldn't be set anyway
@@ -712,8 +715,9 @@ module Pod
712
715
  if scheme.nil?
713
716
  UI.warn "Skipping compilation with `xcodebuild` because target contains no sources.\n".yellow
714
717
  else
718
+ requested_configuration = configuration ? configuration : 'Release'
715
719
  if analyze
716
- output = xcodebuild('analyze', scheme, 'Release', :deployment_target => deployment_target)
720
+ output = xcodebuild('analyze', scheme, requested_configuration, :deployment_target => deployment_target)
717
721
  find_output = Executable.execute_command('find', [validation_dir, '-name', '*.html'], false)
718
722
  if find_output != ''
719
723
  message = 'Static Analysis failed.'
@@ -722,7 +726,7 @@ module Pod
722
726
  error('build_pod', message)
723
727
  end
724
728
  else
725
- output = xcodebuild('build', scheme, configuration ? configuration : 'Release', :deployment_target => deployment_target)
729
+ output = xcodebuild('build', scheme, requested_configuration, :deployment_target => deployment_target)
726
730
  end
727
731
  parsed_output = parse_xcodebuild_output(output)
728
732
  translate_output_to_linter_messages(parsed_output)
@@ -774,7 +778,7 @@ module Pod
774
778
 
775
779
  FILE_PATTERNS = %i(source_files resources preserve_paths vendored_libraries
776
780
  vendored_frameworks public_header_files preserve_paths
777
- private_header_files resource_bundles).freeze
781
+ project_header_files private_header_files resource_bundles).freeze
778
782
 
779
783
  # It checks that every file pattern specified in a spec yields
780
784
  # at least one file. It requires the pods to be already present
@@ -810,6 +814,22 @@ module Pod
810
814
  add_result(message_type, 'file patterns', "The `#{attr_name}` pattern did not match any file.")
811
815
  end
812
816
 
817
+ def _validate_vendored_libraries
818
+ file_accessor.vendored_libraries.each do |lib|
819
+ basename = File.basename(lib)
820
+ lib_name = basename.downcase
821
+ unless lib_name.end_with?('.a') && lib_name.start_with?('lib')
822
+ warning('vendored_libraries', "`#{basename}` does not match the expected static library name format `lib[name].a`")
823
+ end
824
+ end
825
+ validate_nonempty_patterns(:vendored_libraries, :warning)
826
+ end
827
+
828
+ def _validate_project_header_files
829
+ _validate_header_files(:project_header_files)
830
+ validate_nonempty_patterns(:project_header_files, :warning)
831
+ end
832
+
813
833
  def _validate_private_header_files
814
834
  _validate_header_files(:private_header_files)
815
835
  validate_nonempty_patterns(:private_header_files, :warning)
@@ -1,6 +1,6 @@
1
1
  module Pod
2
2
  module VersionMetadata
3
- CACHE_VERSION = '002'.freeze
3
+ CACHE_VERSION = '003'.freeze
4
4
 
5
5
  def self.gem_version
6
6
  Pod::VERSION
@@ -5,6 +5,10 @@ require 'cocoapods/xcode/xcframework/xcframework_slice'
5
5
  module Pod
6
6
  module Xcode
7
7
  class XCFramework
8
+ # @return [String] target_name the target name this XCFramework belongs to
9
+ #
10
+ attr_reader :target_name
11
+
8
12
  # @return [Pathname] path the path to the .xcframework on disk
9
13
  #
10
14
  attr_reader :path
@@ -23,12 +27,13 @@ module Pod
23
27
 
24
28
  # Initializes an XCFramework instance with a path on disk
25
29
  #
26
- # @param [Pathname, String] path
27
- # The path to the .xcframework on disk
30
+ # @param [String] target_name @see target_name
31
+ # @param [Pathname, String] path @see path
28
32
  #
29
33
  # @return [XCFramework] the xcframework at the given path
30
34
  #
31
- def initialize(path)
35
+ def initialize(target_name, path)
36
+ @target_name = target_name
32
37
  @path = Pathname.new(path).tap do |p|
33
38
  raise 'Absolute path is required' unless p.absolute?
34
39
  end
@@ -121,7 +121,16 @@ module Pod
121
121
  # @return [Pathname] the path to the bundled binary
122
122
  #
123
123
  def binary_path
124
- path + name
124
+ @binary_path ||= begin
125
+ case package_type
126
+ when :framework
127
+ path + name
128
+ when :library
129
+ path
130
+ else
131
+ raise Informative, "Invalid package type `#{package_type}`"
132
+ end
133
+ end
125
134
  end
126
135
  end
127
136
  end
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.11.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: 2020-10-20 00:00:00.000000000 Z
14
+ date: 2021-08-12 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.11.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.10.0
29
+ version: 1.11.0.beta.2
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -173,21 +173,21 @@ dependencies:
173
173
  requirements:
174
174
  - - "~>"
175
175
  - !ruby/object:Gem::Version
176
- version: 0.6.6
176
+ version: 0.8.0
177
177
  type: :runtime
178
178
  prerelease: false
179
179
  version_requirements: !ruby/object:Gem::Requirement
180
180
  requirements:
181
181
  - - "~>"
182
182
  - !ruby/object:Gem::Version
183
- version: 0.6.6
183
+ version: 0.8.0
184
184
  - !ruby/object:Gem::Dependency
185
185
  name: xcodeproj
186
186
  requirement: !ruby/object:Gem::Requirement
187
187
  requirements:
188
188
  - - ">="
189
189
  - !ruby/object:Gem::Version
190
- version: 1.19.0
190
+ version: 1.21.0
191
191
  - - "<"
192
192
  - !ruby/object:Gem::Version
193
193
  version: '2.0'
@@ -197,7 +197,7 @@ dependencies:
197
197
  requirements:
198
198
  - - ">="
199
199
  - !ruby/object:Gem::Version
200
- version: 1.19.0
200
+ version: 1.21.0
201
201
  - - "<"
202
202
  - !ruby/object:Gem::Version
203
203
  version: '2.0'
@@ -281,30 +281,36 @@ dependencies:
281
281
  name: ruby-macho
282
282
  requirement: !ruby/object:Gem::Requirement
283
283
  requirements:
284
- - - "~>"
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ version: '1.0'
287
+ - - "<"
285
288
  - !ruby/object:Gem::Version
286
- version: '1.4'
289
+ version: '3.0'
287
290
  type: :runtime
288
291
  prerelease: false
289
292
  version_requirements: !ruby/object:Gem::Requirement
290
293
  requirements:
291
- - - "~>"
294
+ - - ">="
292
295
  - !ruby/object:Gem::Version
293
- version: '1.4'
296
+ version: '1.0'
297
+ - - "<"
298
+ - !ruby/object:Gem::Version
299
+ version: '3.0'
294
300
  - !ruby/object:Gem::Dependency
295
301
  name: addressable
296
302
  requirement: !ruby/object:Gem::Requirement
297
303
  requirements:
298
304
  - - "~>"
299
305
  - !ruby/object:Gem::Version
300
- version: '2.6'
306
+ version: '2.8'
301
307
  type: :runtime
302
308
  prerelease: false
303
309
  version_requirements: !ruby/object:Gem::Requirement
304
310
  requirements:
305
311
  - - "~>"
306
312
  - !ruby/object:Gem::Version
307
- version: '2.6'
313
+ version: '2.8'
308
314
  - !ruby/object:Gem::Dependency
309
315
  name: bacon
310
316
  requirement: !ruby/object:Gem::Requirement
@@ -325,14 +331,14 @@ dependencies:
325
331
  requirements:
326
332
  - - "~>"
327
333
  - !ruby/object:Gem::Version
328
- version: '1.3'
334
+ version: '2.0'
329
335
  type: :development
330
336
  prerelease: false
331
337
  version_requirements: !ruby/object:Gem::Requirement
332
338
  requirements:
333
339
  - - "~>"
334
340
  - !ruby/object:Gem::Version
335
- version: '1.3'
341
+ version: '2.0'
336
342
  - !ruby/object:Gem::Dependency
337
343
  name: rake
338
344
  requirement: !ruby/object:Gem::Requirement
@@ -458,6 +464,7 @@ files:
458
464
  - lib/cocoapods/installer/post_install_hooks_context.rb
459
465
  - lib/cocoapods/installer/post_integrate_hooks_context.rb
460
466
  - lib/cocoapods/installer/pre_install_hooks_context.rb
467
+ - lib/cocoapods/installer/pre_integrate_hooks_context.rb
461
468
  - lib/cocoapods/installer/project_cache/project_cache.rb
462
469
  - lib/cocoapods/installer/project_cache/project_cache_analysis_result.rb
463
470
  - lib/cocoapods/installer/project_cache/project_cache_analyzer.rb
@@ -531,15 +538,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
531
538
  requirements:
532
539
  - - ">="
533
540
  - !ruby/object:Gem::Version
534
- version: 2.3.3
541
+ version: '2.6'
535
542
  required_rubygems_version: !ruby/object:Gem::Requirement
536
543
  requirements:
537
- - - ">="
544
+ - - ">"
538
545
  - !ruby/object:Gem::Version
539
- version: '0'
546
+ version: 1.3.1
540
547
  requirements: []
541
- rubygems_version: 3.0.3
548
+ rubygems_version: 3.1.3
542
549
  signing_key:
543
- specification_version: 3
550
+ specification_version: 4
544
551
  summary: The Cocoa library package manager.
545
552
  test_files: []