cocoapods 1.10.0 → 1.16.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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +571 -7
  3. data/README.md +10 -11
  4. data/bin/sandbox-pod +1 -1
  5. data/lib/cocoapods/command/lib/lint.rb +4 -1
  6. data/lib/cocoapods/command/outdated.rb +12 -1
  7. data/lib/cocoapods/command/repo/push.rb +20 -0
  8. data/lib/cocoapods/command/setup.rb +2 -2
  9. data/lib/cocoapods/command/spec/cat.rb +3 -1
  10. data/lib/cocoapods/command/spec/create.rb +1 -0
  11. data/lib/cocoapods/command/spec/lint.rb +4 -1
  12. data/lib/cocoapods/command/spec/which.rb +3 -1
  13. data/lib/cocoapods/command/spec.rb +18 -9
  14. data/lib/cocoapods/config.rb +8 -7
  15. data/lib/cocoapods/downloader/cache.rb +98 -6
  16. data/lib/cocoapods/downloader.rb +4 -2
  17. data/lib/cocoapods/executable.rb +1 -1
  18. data/lib/cocoapods/external_sources/abstract_external_source.rb +1 -1
  19. data/lib/cocoapods/external_sources/path_source.rb +1 -1
  20. data/lib/cocoapods/external_sources/podspec_source.rb +1 -1
  21. data/lib/cocoapods/gem_version.rb +1 -1
  22. data/lib/cocoapods/generator/acknowledgements.rb +13 -1
  23. data/lib/cocoapods/generator/app_target_helper.rb +8 -4
  24. data/lib/cocoapods/generator/copy_dsyms_script.rb +4 -4
  25. data/lib/cocoapods/generator/copy_resources_script.rb +2 -1
  26. data/lib/cocoapods/generator/copy_xcframework_script.rb +52 -70
  27. data/lib/cocoapods/generator/embed_frameworks_script.rb +4 -3
  28. data/lib/cocoapods/generator/info_plist_file.rb +1 -1
  29. data/lib/cocoapods/generator/script_phase_constants.rb +1 -0
  30. data/lib/cocoapods/installer/analyzer/analysis_result.rb +3 -3
  31. data/lib/cocoapods/installer/analyzer/pod_variant.rb +1 -1
  32. data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +38 -10
  33. data/lib/cocoapods/installer/analyzer.rb +21 -13
  34. data/lib/cocoapods/installer/base_install_hooks_context.rb +19 -4
  35. data/lib/cocoapods/installer/installation_options.rb +11 -0
  36. data/lib/cocoapods/installer/pod_source_downloader.rb +159 -0
  37. data/lib/cocoapods/installer/pod_source_installer.rb +10 -36
  38. data/lib/cocoapods/installer/podfile_validator.rb +2 -2
  39. data/lib/cocoapods/installer/pre_integrate_hooks_context.rb +9 -0
  40. data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +14 -7
  41. data/lib/cocoapods/installer/project_cache/project_installation_cache.rb +15 -2
  42. data/lib/cocoapods/installer/project_cache/target_cache_key.rb +48 -7
  43. data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +150 -9
  44. data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +11 -3
  45. data/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb +62 -9
  46. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +6 -19
  47. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +86 -59
  48. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +48 -6
  49. data/lib/cocoapods/installer/xcode/pods_project_generator/project_generator.rb +3 -1
  50. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +2 -2
  51. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +8 -5
  52. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer_helper.rb +9 -3
  53. data/lib/cocoapods/installer/xcode/pods_project_generator.rb +37 -2
  54. data/lib/cocoapods/installer/xcode/target_validator.rb +1 -1
  55. data/lib/cocoapods/installer.rb +150 -34
  56. data/lib/cocoapods/native_target_extension.rb +1 -1
  57. data/lib/cocoapods/open-uri.rb +1 -1
  58. data/lib/cocoapods/project.rb +8 -8
  59. data/lib/cocoapods/resolver/resolver_specification.rb +1 -1
  60. data/lib/cocoapods/resolver.rb +7 -7
  61. data/lib/cocoapods/sandbox/file_accessor.rb +67 -11
  62. data/lib/cocoapods/sandbox/headers_store.rb +3 -1
  63. data/lib/cocoapods/sandbox/path_list.rb +2 -2
  64. data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +1 -1
  65. data/lib/cocoapods/sandbox.rb +48 -12
  66. data/lib/cocoapods/sources_manager.rb +18 -9
  67. data/lib/cocoapods/target/aggregate_target.rb +23 -1
  68. data/lib/cocoapods/target/build_settings.rb +67 -22
  69. data/lib/cocoapods/target/pod_target.rb +49 -24
  70. data/lib/cocoapods/target.rb +1 -1
  71. data/lib/cocoapods/user_interface.rb +6 -2
  72. data/lib/cocoapods/validator.rb +58 -22
  73. data/lib/cocoapods/version_metadata.rb +1 -1
  74. data/lib/cocoapods/xcode/xcframework/xcframework_slice.rb +22 -7
  75. data/lib/cocoapods/xcode/xcframework.rb +9 -4
  76. data/lib/cocoapods.rb +2 -0
  77. metadata +35 -27
@@ -25,7 +25,7 @@ module Pod
25
25
  #
26
26
  attr_accessor :output_io
27
27
 
28
- # @return [Bool] Whether the wrapping of the strings to the width of the
28
+ # @return [Boolean] Whether the wrapping of the strings to the width of the
29
29
  # terminal should be disabled.
30
30
  #
31
31
  attr_accessor :disable_wrap
@@ -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?
@@ -366,7 +370,7 @@ module Pod
366
370
  #
367
371
  # @param [String] message The message to print.
368
372
  # @param [Array] actions The actions that the user should take.
369
- # @param [Bool] verbose_only
373
+ # @param [Boolean] verbose_only
370
374
  # Restrict the appearance of the warning to verbose mode only
371
375
  #
372
376
  # return [void]
@@ -58,7 +58,6 @@ module Pod
58
58
  end
59
59
  result
60
60
  end
61
- @use_frameworks = true
62
61
  end
63
62
 
64
63
  #-------------------------------------------------------------------------#
@@ -110,7 +109,7 @@ module Pod
110
109
  # @note This method shows immediately which pod is being processed and
111
110
  # overrides the printed line once the result is known.
112
111
  #
113
- # @return [Bool] whether the specification passed validation.
112
+ # @return [Boolean] whether the specification passed validation.
114
113
  #
115
114
  def validate
116
115
  @results = []
@@ -118,7 +117,7 @@ module Pod
118
117
  # Replace default spec with a subspec if asked for
119
118
  a_spec = spec
120
119
  if spec && @only_subspec
121
- subspec_name = @only_subspec.start_with?(spec.root.name) ? @only_subspec : "#{spec.root.name}/#{@only_subspec}"
120
+ subspec_name = @only_subspec.start_with?("#{spec.root.name}/") ? @only_subspec : "#{spec.root.name}/#{@only_subspec}"
122
121
  a_spec = spec.subspec_by_name(subspec_name, true, true)
123
122
  @subspec_name = a_spec.name
124
123
  end
@@ -153,6 +152,8 @@ module Pod
153
152
  platform_message = '[watchOS] '
154
153
  elsif result.platforms == [:tvos]
155
154
  platform_message = '[tvOS] '
155
+ elsif result.platforms == [:visionos]
156
+ platform_message = '[visionOS] '
156
157
  end
157
158
 
158
159
  subspecs_message = ''
@@ -201,23 +202,23 @@ module Pod
201
202
 
202
203
  # @!group Configuration
203
204
 
204
- # @return [Bool] whether the validation should skip the checks that
205
+ # @return [Boolean] whether the validation should skip the checks that
205
206
  # requires the download of the library.
206
207
  #
207
208
  attr_accessor :quick
208
209
 
209
- # @return [Bool] whether the linter should not clean up temporary files
210
+ # @return [Boolean] whether the linter should not clean up temporary files
210
211
  # for inspection.
211
212
  #
212
213
  attr_accessor :no_clean
213
214
 
214
- # @return [Bool] whether the linter should fail as soon as the first build
215
+ # @return [Boolean] whether the linter should fail as soon as the first build
215
216
  # variant causes an error. Helpful for i.e. multi-platforms specs,
216
217
  # specs with subspecs.
217
218
  #
218
219
  attr_accessor :fail_fast
219
220
 
220
- # @return [Bool] whether the validation should be performed against the root of
221
+ # @return [Boolean] whether the validation should be performed against the root of
221
222
  # the podspec instead to its original source.
222
223
  #
223
224
  # @note Uses the `:path` option of the Podfile.
@@ -225,7 +226,7 @@ module Pod
225
226
  attr_accessor :local
226
227
  alias_method :local?, :local
227
228
 
228
- # @return [Bool] Whether the validator should fail on warnings, or only on errors.
229
+ # @return [Boolean] Whether the validator should fail on warnings, or only on errors.
229
230
  #
230
231
  attr_accessor :allow_warnings
231
232
 
@@ -233,11 +234,11 @@ module Pod
233
234
  #
234
235
  attr_accessor :only_subspec
235
236
 
236
- # @return [Bool] Whether the validator should validate all subspecs.
237
+ # @return [Boolean] Whether the validator should validate all subspecs.
237
238
  #
238
239
  attr_accessor :no_subspecs
239
240
 
240
- # @return [Bool] Whether the validator should skip building and running tests.
241
+ # @return [Boolean] Whether the validator should skip building and running tests.
241
242
  #
242
243
  attr_accessor :skip_tests
243
244
 
@@ -245,11 +246,11 @@ module Pod
245
246
  #
246
247
  attr_accessor :test_specs
247
248
 
248
- # @return [Bool] Whether the validator should run Xcode Static Analysis.
249
+ # @return [Boolean] Whether the validator should run Xcode Static Analysis.
249
250
  #
250
251
  attr_accessor :analyze
251
252
 
252
- # @return [Bool] Whether frameworks should be used for the installation.
253
+ # @return [Boolean] Whether frameworks should be used for the installation.
253
254
  #
254
255
  attr_accessor :use_frameworks
255
256
 
@@ -324,6 +325,10 @@ module Pod
324
325
  @validation_dir ||= Pathname(Dir.mktmpdir(['CocoaPods-Lint-', "-#{spec.name}"]))
325
326
  end
326
327
 
328
+ def validation_dir=(validation_dir)
329
+ @validation_dir = Pathname(validation_dir) unless validation_dir.nil?
330
+ end
331
+
327
332
  # @return [String] The SWIFT_VERSION that should be used to validate the pod. This is set by passing the
328
333
  # `--swift-version` parameter during validation.
329
334
  #
@@ -443,7 +448,7 @@ module Pod
443
448
  if !resp
444
449
  warning('url', "There was a problem validating the URL #{url}.", true)
445
450
  elsif !resp.success?
446
- warning('url', "The URL (#{url}) is not reachable.", true)
451
+ note('url', "The URL (#{url}) is not reachable.", true)
447
452
  end
448
453
 
449
454
  resp
@@ -581,11 +586,23 @@ module Pod
581
586
  def create_app_project
582
587
  app_project = Xcodeproj::Project.new(validation_dir + 'App.xcodeproj')
583
588
  app_target = Pod::Generator::AppTargetHelper.add_app_target(app_project, consumer.platform_name, deployment_target)
589
+ sandbox = Sandbox.new(config.sandbox_root)
590
+ info_plist_path = app_project.path.dirname.+('App/App-Info.plist')
591
+ Pod::Installer::Xcode::PodsProjectGenerator::TargetInstallerHelper.create_info_plist_file_with_sandbox(sandbox,
592
+ info_plist_path,
593
+ app_target,
594
+ '1.0.0',
595
+ Platform.new(consumer.platform_name),
596
+ :appl,
597
+ :build_setting_value => '$(SRCROOT)/App/App-Info.plist')
584
598
  Pod::Generator::AppTargetHelper.add_swift_version(app_target, derived_swift_version)
585
- # Lint will fail if a AppIcon is set but no image is found with such name
586
- # Happens only with Static Frameworks enabled but shouldn't be set anyway
587
599
  app_target.build_configurations.each do |config|
600
+ # Lint will fail if a AppIcon is set but no image is found with such name
601
+ # Happens only with Static Frameworks enabled but shouldn't be set anyway
588
602
  config.build_settings.delete('ASSETCATALOG_COMPILER_APPICON_NAME')
603
+ # Ensure this is set generally but we have seen an issue with ODRs:
604
+ # see: https://github.com/CocoaPods/CocoaPods/issues/10933
605
+ config.build_settings['PRODUCT_BUNDLE_IDENTIFIER'] = 'org.cocoapods.${PRODUCT_NAME:rfc1034identifier}'
589
606
  end
590
607
  app_project.save
591
608
  app_project.recreate_user_schemes
@@ -712,8 +729,9 @@ module Pod
712
729
  if scheme.nil?
713
730
  UI.warn "Skipping compilation with `xcodebuild` because target contains no sources.\n".yellow
714
731
  else
732
+ requested_configuration = configuration ? configuration : 'Release'
715
733
  if analyze
716
- output = xcodebuild('analyze', scheme, 'Release', :deployment_target => deployment_target)
734
+ output = xcodebuild('analyze', scheme, requested_configuration, :deployment_target => deployment_target)
717
735
  find_output = Executable.execute_command('find', [validation_dir, '-name', '*.html'], false)
718
736
  if find_output != ''
719
737
  message = 'Static Analysis failed.'
@@ -722,7 +740,7 @@ module Pod
722
740
  error('build_pod', message)
723
741
  end
724
742
  else
725
- output = xcodebuild('build', scheme, configuration ? configuration : 'Release', :deployment_target => deployment_target)
743
+ output = xcodebuild('build', scheme, requested_configuration, :deployment_target => deployment_target)
726
744
  end
727
745
  parsed_output = parse_xcodebuild_output(output)
728
746
  translate_output_to_linter_messages(parsed_output)
@@ -774,7 +792,7 @@ module Pod
774
792
 
775
793
  FILE_PATTERNS = %i(source_files resources preserve_paths vendored_libraries
776
794
  vendored_frameworks public_header_files preserve_paths
777
- private_header_files resource_bundles).freeze
795
+ project_header_files private_header_files resource_bundles).freeze
778
796
 
779
797
  # It checks that every file pattern specified in a spec yields
780
798
  # at least one file. It requires the pods to be already present
@@ -810,6 +828,22 @@ module Pod
810
828
  add_result(message_type, 'file patterns', "The `#{attr_name}` pattern did not match any file.")
811
829
  end
812
830
 
831
+ def _validate_vendored_libraries
832
+ file_accessor.vendored_libraries.each do |lib|
833
+ basename = File.basename(lib)
834
+ lib_name = basename.downcase
835
+ unless lib_name.end_with?('.a', '.dylib') && lib_name.start_with?('lib')
836
+ warning('vendored_libraries', "`#{basename}` does not match the expected library name format `lib[name].a` or `lib[name].dylib`")
837
+ end
838
+ end
839
+ validate_nonempty_patterns(:vendored_libraries, :warning)
840
+ end
841
+
842
+ def _validate_project_header_files
843
+ _validate_header_files(:project_header_files)
844
+ validate_nonempty_patterns(:project_header_files, :warning)
845
+ end
846
+
813
847
  def _validate_private_header_files
814
848
  _validate_header_files(:private_header_files)
815
849
  validate_nonempty_patterns(:private_header_files, :warning)
@@ -963,7 +997,7 @@ module Pod
963
997
  # the deployment target, which should be declared in
964
998
  # the Podfile.
965
999
  #
966
- # @param [Bool] use_frameworks
1000
+ # @param [Boolean] use_frameworks
967
1001
  # whether frameworks should be used for the installation
968
1002
  #
969
1003
  # @param [Array<String>] test_spec_names
@@ -1069,10 +1103,12 @@ module Pod
1069
1103
  end
1070
1104
  when :watchos
1071
1105
  command += %w(CODE_SIGN_IDENTITY=- -sdk watchsimulator)
1072
- command += Fourflusher::SimControl.new.destination(:oldest, 'watchOS', deployment_target)
1073
1106
  when :tvos
1074
1107
  command += %w(CODE_SIGN_IDENTITY=- -sdk appletvsimulator)
1075
1108
  command += Fourflusher::SimControl.new.destination(:oldest, 'tvOS', deployment_target)
1109
+ when :visionos
1110
+ command += %w(CODE_SIGN_IDENTITY=- -sdk xrsimulator)
1111
+ command += Fourflusher::SimControl.new.destination(:oldest, 'xrOS', deployment_target)
1076
1112
  end
1077
1113
 
1078
1114
  if analyze
@@ -1102,7 +1138,7 @@ module Pod
1102
1138
  # @param [Platform] platform
1103
1139
  # The platform to check
1104
1140
  #
1105
- # @return [Bool] True if the platform is valid
1141
+ # @return [Boolean] True if the platform is valid
1106
1142
  #
1107
1143
  def valid_platform?(platform)
1108
1144
  VALID_PLATFORMS.any? { |p| p.name == platform.name }
@@ -1116,7 +1152,7 @@ module Pod
1116
1152
  # @param [Specification] spec
1117
1153
  # The specification which must support the provided platform
1118
1154
  #
1119
- # @return [Bool] Whether the platform is supported by the specification
1155
+ # @return [Boolean] Whether the platform is supported by the specification
1120
1156
  #
1121
1157
  def supported_platform?(platform, spec)
1122
1158
  available_platforms = spec.available_platforms
@@ -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
@@ -4,7 +4,7 @@ module Pod
4
4
  module Xcode
5
5
  class XCFramework
6
6
  class Slice
7
- # @return [Pathname] the path to the .framework or .a of this slice
7
+ # @return [Pathname] the path to the .framework, .a or .dylib of this slice
8
8
  #
9
9
  attr_reader :path
10
10
 
@@ -45,9 +45,15 @@ module Pod
45
45
  when :framework
46
46
  File.basename(path, '.framework')
47
47
  when :library
48
- result = File.basename(path, '.a').gsub(/^lib/, '')
49
- result[0] = result.downcase[0]
50
- result
48
+ ext = File.extname(path)
49
+ case ext
50
+ when '.a', '.dylib'
51
+ result = File.basename(path).gsub(/^lib/, '')
52
+ result[0] = result.downcase[0]
53
+ result
54
+ else
55
+ raise Informative, "Invalid package type `#{package_type}`"
56
+ end
51
57
  else
52
58
  raise Informative, "Invalid package type `#{package_type}`"
53
59
  end
@@ -68,7 +74,7 @@ module Pod
68
74
  case ext
69
75
  when '.framework'
70
76
  :framework
71
- when '.a'
77
+ when '.a', '.dylib'
72
78
  :library
73
79
  else
74
80
  raise Informative, "Invalid XCFramework slice type `#{ext}`"
@@ -109,7 +115,7 @@ module Pod
109
115
  packaging = case ext
110
116
  when '.framework'
111
117
  :framework
112
- when '.a'
118
+ when '.a', '.dylib'
113
119
  :library
114
120
  else
115
121
  raise Informative, "Invalid XCFramework slice type `#{ext}`"
@@ -121,7 +127,16 @@ module Pod
121
127
  # @return [Pathname] the path to the bundled binary
122
128
  #
123
129
  def binary_path
124
- path + name
130
+ @binary_path ||= begin
131
+ case package_type
132
+ when :framework
133
+ path + name
134
+ when :library
135
+ path
136
+ else
137
+ raise Informative, "Invalid package type `#{package_type}`"
138
+ end
139
+ end
125
140
  end
126
141
  end
127
142
  end
@@ -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
@@ -86,7 +91,7 @@ module Pod
86
91
  slice_path = slice_root.join(relative_path)
87
92
  headers = slice_root.join(headers) unless headers.nil?
88
93
  XCFramework::Slice.new(slice_path, identifier, archs, platform_name, :platform_variant => platform_variant, :headers => headers)
89
- end
94
+ end.sort_by(&:identifier)
90
95
  raise Informative, "XCFramework at #{path} does not contain any frameworks or libraries." if slices.empty?
91
96
  end
92
97
  end
data/lib/cocoapods.rb CHANGED
@@ -4,6 +4,8 @@ require 'xcodeproj'
4
4
  # It is very likely that we'll need these and as some of those paths will atm
5
5
  # result in a I18n deprecation warning, we load those here now so that we can
6
6
  # get rid of that warning.
7
+ require 'active_support'
8
+ require 'active_support/core_ext'
7
9
  require 'active_support/core_ext/string/strip'
8
10
  require 'active_support/core_ext/string/inflections'
9
11
  require 'active_support/core_ext/array/conversions'
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.16.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: 2020-10-20 00:00:00.000000000 Z
14
+ date: 2024-10-28 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.16.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.10.0
29
+ version: 1.16.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -73,20 +73,20 @@ dependencies:
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: 1.4.0
76
+ version: '2.1'
77
77
  - - "<"
78
78
  - !ruby/object:Gem::Version
79
- version: '2.0'
79
+ version: '3.0'
80
80
  type: :runtime
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: 1.4.0
86
+ version: '2.1'
87
87
  - - "<"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.0'
89
+ version: '3.0'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: cocoapods-plugins
92
92
  requirement: !ruby/object:Gem::Requirement
@@ -133,7 +133,7 @@ dependencies:
133
133
  requirements:
134
134
  - - ">="
135
135
  - !ruby/object:Gem::Version
136
- version: 1.4.0
136
+ version: 1.6.0
137
137
  - - "<"
138
138
  - !ruby/object:Gem::Version
139
139
  version: '2.0'
@@ -143,7 +143,7 @@ dependencies:
143
143
  requirements:
144
144
  - - ">="
145
145
  - !ruby/object:Gem::Version
146
- version: 1.4.0
146
+ version: 1.6.0
147
147
  - - "<"
148
148
  - !ruby/object:Gem::Version
149
149
  version: '2.0'
@@ -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.26.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.26.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: 2.3.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: 2.3.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,28 +331,28 @@ 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
339
345
  requirements:
340
346
  - - "~>"
341
347
  - !ruby/object:Gem::Version
342
- version: '10.0'
348
+ version: '12.3'
343
349
  type: :development
344
350
  prerelease: false
345
351
  version_requirements: !ruby/object:Gem::Requirement
346
352
  requirements:
347
353
  - - "~>"
348
354
  - !ruby/object:Gem::Version
349
- version: '10.0'
355
+ version: '12.3'
350
356
  description: |-
351
357
  CocoaPods manages library dependencies for your Xcode project.
352
358
 
@@ -452,12 +458,14 @@ files:
452
458
  - lib/cocoapods/installer/analyzer/target_inspector.rb
453
459
  - lib/cocoapods/installer/base_install_hooks_context.rb
454
460
  - lib/cocoapods/installer/installation_options.rb
461
+ - lib/cocoapods/installer/pod_source_downloader.rb
455
462
  - lib/cocoapods/installer/pod_source_installer.rb
456
463
  - lib/cocoapods/installer/pod_source_preparer.rb
457
464
  - lib/cocoapods/installer/podfile_validator.rb
458
465
  - lib/cocoapods/installer/post_install_hooks_context.rb
459
466
  - lib/cocoapods/installer/post_integrate_hooks_context.rb
460
467
  - lib/cocoapods/installer/pre_install_hooks_context.rb
468
+ - lib/cocoapods/installer/pre_integrate_hooks_context.rb
461
469
  - lib/cocoapods/installer/project_cache/project_cache.rb
462
470
  - lib/cocoapods/installer/project_cache/project_cache_analysis_result.rb
463
471
  - lib/cocoapods/installer/project_cache/project_cache_analyzer.rb
@@ -531,15 +539,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
531
539
  requirements:
532
540
  - - ">="
533
541
  - !ruby/object:Gem::Version
534
- version: 2.3.3
542
+ version: '2.6'
535
543
  required_rubygems_version: !ruby/object:Gem::Requirement
536
544
  requirements:
537
545
  - - ">="
538
546
  - !ruby/object:Gem::Version
539
547
  version: '0'
540
548
  requirements: []
541
- rubygems_version: 3.0.3
549
+ rubygems_version: 3.2.3
542
550
  signing_key:
543
- specification_version: 3
551
+ specification_version: 4
544
552
  summary: The Cocoa library package manager.
545
553
  test_files: []