cocoapods 1.7.5 → 1.8.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +175 -11
  3. data/LICENSE +13 -8
  4. data/README.md +2 -1
  5. data/lib/cocoapods/command/init.rb +18 -16
  6. data/lib/cocoapods/command/install.rb +2 -1
  7. data/lib/cocoapods/command/lib/create.rb +1 -2
  8. data/lib/cocoapods/command/lib/lint.rb +12 -11
  9. data/lib/cocoapods/command/repo/add.rb +2 -2
  10. data/lib/cocoapods/command/repo/list.rb +7 -5
  11. data/lib/cocoapods/command/repo/push.rb +15 -12
  12. data/lib/cocoapods/command/setup.rb +2 -88
  13. data/lib/cocoapods/command/spec/lint.rb +10 -9
  14. data/lib/cocoapods/command/update.rb +5 -4
  15. data/lib/cocoapods/config.rb +9 -8
  16. data/lib/cocoapods/external_sources/path_source.rb +1 -1
  17. data/lib/cocoapods/gem_version.rb +1 -1
  18. data/lib/cocoapods/generator/embed_frameworks_script.rb +1 -1
  19. data/lib/cocoapods/generator/info_plist_file.rb +2 -2
  20. data/lib/cocoapods/installer.rb +32 -12
  21. data/lib/cocoapods/installer/analyzer.rb +132 -97
  22. data/lib/cocoapods/installer/analyzer/target_inspector.rb +6 -8
  23. data/lib/cocoapods/installer/installation_options.rb +4 -0
  24. data/lib/cocoapods/installer/pod_source_installer.rb +17 -1
  25. data/lib/cocoapods/installer/podfile_validator.rb +26 -6
  26. data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +37 -27
  27. data/lib/cocoapods/installer/project_cache/project_cache_version.rb +1 -1
  28. data/lib/cocoapods/installer/project_cache/project_installation_cache.rb +3 -3
  29. data/lib/cocoapods/installer/project_cache/project_metadata_cache.rb +12 -6
  30. data/lib/cocoapods/installer/project_cache/target_cache_key.rb +32 -8
  31. data/lib/cocoapods/installer/project_cache/target_metadata.rb +6 -2
  32. data/lib/cocoapods/installer/sandbox_dir_cleaner.rb +12 -0
  33. data/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb +1 -1
  34. data/lib/cocoapods/installer/xcode/multi_pods_project_generator.rb +3 -1
  35. data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_dependency_installer.rb +2 -2
  36. data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +18 -3
  37. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +53 -11
  38. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +92 -60
  39. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +66 -50
  40. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +12 -0
  41. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +6 -2
  42. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer_helper.rb +2 -2
  43. data/lib/cocoapods/installer/xcode/target_validator.rb +30 -14
  44. data/lib/cocoapods/native_target_extension.rb +11 -5
  45. data/lib/cocoapods/open-uri.rb +1 -1
  46. data/lib/cocoapods/project.rb +13 -7
  47. data/lib/cocoapods/resolver.rb +63 -53
  48. data/lib/cocoapods/resolver/lazy_specification.rb +14 -5
  49. data/lib/cocoapods/sandbox.rb +35 -2
  50. data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +3 -4
  51. data/lib/cocoapods/sources_manager.rb +72 -43
  52. data/lib/cocoapods/target.rb +7 -1
  53. data/lib/cocoapods/target/aggregate_target.rb +13 -8
  54. data/lib/cocoapods/target/build_settings.rb +33 -10
  55. data/lib/cocoapods/target/pod_target.rb +114 -30
  56. data/lib/cocoapods/user_interface/error_report.rb +9 -5
  57. data/lib/cocoapods/validator.rb +55 -11
  58. data/lib/cocoapods/version_metadata.rb +14 -1
  59. metadata +6 -7
  60. data/lib/cocoapods/command/spec/env_spec.rb +0 -53
@@ -58,6 +58,10 @@ module Pod
58
58
  #
59
59
  attr_accessor :app_dependent_targets_by_spec_name
60
60
 
61
+ # @return [Hash{String => (Specification,PodTarget)}] tuples of app specs and pod targets by test spec name.
62
+ #
63
+ attr_accessor :test_app_hosts_by_spec_name
64
+
61
65
  # @return [Hash{String => BuildSettings}] the test spec build settings for this target.
62
66
  #
63
67
  attr_reader :test_spec_build_settings
@@ -85,7 +89,6 @@ module Pod
85
89
  super(sandbox, host_requires_frameworks, user_build_configurations, archs, platform, :build_type => build_type)
86
90
  raise "Can't initialize a PodTarget without specs!" if specs.nil? || specs.empty?
87
91
  raise "Can't initialize a PodTarget without TargetDefinition!" if target_definitions.nil? || target_definitions.empty?
88
- raise "Can't initialize a PodTarget with only abstract TargetDefinitions!" if target_definitions.all?(&:abstract?)
89
92
  raise "Can't initialize a PodTarget with an empty string scope suffix!" if scope_suffix == ''
90
93
  @specs = specs.dup.freeze
91
94
  @target_definitions = target_definitions
@@ -99,6 +102,7 @@ module Pod
99
102
  @dependent_targets = []
100
103
  @test_dependent_targets_by_spec_name = {}
101
104
  @app_dependent_targets_by_spec_name = {}
105
+ @test_app_hosts_by_spec_name = {}
102
106
  @build_config_cache = {}
103
107
  @test_spec_build_settings = create_test_build_settings
104
108
  @app_spec_build_settings = create_app_build_settings
@@ -114,22 +118,27 @@ module Pod
114
118
  def scoped(cache = {})
115
119
  target_definitions.map do |target_definition|
116
120
  cache_key = [specs, target_definition]
117
- if cache[cache_key]
118
- cache[cache_key]
119
- else
120
- target_definitions = [target_definition]
121
- target = PodTarget.new(sandbox, host_requires_frameworks, user_build_configurations, archs, platform, specs,
122
- [target_definition], file_accessors, target_definition.label, :build_type => build_type)
123
- target.dependent_targets = dependent_targets.flat_map { |pt| pt.scoped(cache) }.select do |pt|
124
- pt.target_definitions == target_definitions
121
+ cache[cache_key] ||= begin
122
+ target = PodTarget.new(sandbox, host_requires_frameworks, user_build_configurations, archs, platform,
123
+ specs, [target_definition], file_accessors, target_definition.label,
124
+ :build_type => build_type)
125
+ scope_dependent_targets = ->(dependent_targets) do
126
+ dependent_targets.flat_map do |pod_target|
127
+ pod_target.scoped(cache).select { |pt| pt.target_definitions == [target_definition] }
128
+ end
125
129
  end
126
- target.test_dependent_targets_by_spec_name = scope_dependent_pod_targets(cache,
127
- test_dependent_targets_by_spec_name,
128
- target_definitions)
129
- target.app_dependent_targets_by_spec_name = scope_dependent_pod_targets(cache,
130
- app_dependent_targets_by_spec_name,
131
- target_definitions)
132
- cache[cache_key] = target
130
+
131
+ target.dependent_targets = scope_dependent_targets[dependent_targets]
132
+ target.test_dependent_targets_by_spec_name = Hash[test_dependent_targets_by_spec_name.map do |spec_name, test_pod_targets|
133
+ [spec_name, scope_dependent_targets[test_pod_targets]]
134
+ end]
135
+ target.app_dependent_targets_by_spec_name = Hash[app_dependent_targets_by_spec_name.map do |spec_name, app_pod_targets|
136
+ [spec_name, scope_dependent_targets[app_pod_targets]]
137
+ end]
138
+ target.test_app_hosts_by_spec_name = Hash[test_app_hosts_by_spec_name.map do |spec_name, (app_host_spec, app_pod_target)|
139
+ [spec_name, [app_host_spec, app_pod_target.scoped(cache).find { |pt| pt.target_definitions == [target_definition] }]]
140
+ end]
141
+ target
133
142
  end
134
143
  end
135
144
  end
@@ -217,6 +226,16 @@ module Pod
217
226
  target_definitions.first.podfile
218
227
  end
219
228
 
229
+ # @return [String] the project name derived from the target definitions that integrate this pod. If none is
230
+ # specified then the name of the pod is used by default.
231
+ #
232
+ # @note The name is guaranteed to be the same across all target definitions and is validated by the target
233
+ # validator during installation.
234
+ #
235
+ def project_name
236
+ target_definitions.map { |td| td.project_name_for_pod(pod_name) }.compact.first || pod_name
237
+ end
238
+
220
239
  # @return [String] The name to use for the source code module constructed
221
240
  # for this target, and which will be used to import the module in
222
241
  # implementation source files.
@@ -364,7 +383,7 @@ module Pod
364
383
  end
365
384
  FrameworkPaths.new(framework_source, dsym_source, bcsymbolmap_paths)
366
385
  end
367
- if !file_accessor.spec.test_specification? && should_build? && build_as_dynamic_framework?
386
+ if file_accessor.spec.library_specification? && should_build? && build_as_dynamic_framework?
368
387
  frameworks << FrameworkPaths.new(build_product_path('${BUILT_PRODUCTS_DIR}'))
369
388
  end
370
389
  hash[file_accessor.spec.name] = frameworks
@@ -379,8 +398,13 @@ module Pod
379
398
  def resource_paths
380
399
  @resource_paths ||= begin
381
400
  file_accessors.each_with_object({}) do |file_accessor, hash|
382
- resource_paths = file_accessor.resources.map { |res| "${PODS_ROOT}/#{res.relative_path_from(sandbox.project_path.dirname)}" }
383
- resource_paths = [] if file_accessor.spec.non_library_specification? && build_as_framework?
401
+ resource_paths = if file_accessor.spec.non_library_specification? && build_as_framework?
402
+ []
403
+ else
404
+ file_accessor.resources.map do |res|
405
+ "${PODS_ROOT}/#{res.relative_path_from(sandbox.project_path.dirname)}"
406
+ end
407
+ end
384
408
  prefix = Pod::Target::BuildSettings::CONFIGURATION_BUILD_DIR_VARIABLE
385
409
  prefix = configuration_build_dir unless file_accessor.spec.test_specification?
386
410
  resource_bundle_paths = file_accessor.resource_bundles.keys.map { |name| "#{prefix}/#{name.shellescape}.bundle" }
@@ -389,6 +413,16 @@ module Pod
389
413
  end
390
414
  end
391
415
 
416
+ # @param [Specification] spec The non library spec to calculate the deployment target for.
417
+ #
418
+ # @return [String] The deployment target to use for the non library spec. If the spec provides one then that is the
419
+ # one used otherwise the one for the whole target is used.
420
+ #
421
+ def deployment_target_for_non_library_spec(spec)
422
+ raise ArgumentError, 'Must be a non library spec.' unless spec.non_library_specification?
423
+ spec.deployment_target(platform.name)
424
+ end
425
+
392
426
  # Returns the corresponding native product type to use given the test type.
393
427
  # This is primarily used when creating the native targets in order to produce the correct test bundle target
394
428
  # based on the type of tests included.
@@ -402,6 +436,27 @@ module Pod
402
436
  case test_type
403
437
  when :unit
404
438
  :unit_test_bundle
439
+ when :ui
440
+ :ui_test_bundle
441
+ else
442
+ raise ArgumentError, "Unknown test type `#{test_type}`."
443
+ end
444
+ end
445
+
446
+ # Returns the label to use for the given test type.
447
+ # This is used to generate native target names for test specs.
448
+ #
449
+ # @param [Symbol] test_type
450
+ # The test type to map to provided by the test specification DSL.
451
+ #
452
+ # @return [String] The native product type to use.
453
+ #
454
+ def label_for_test_type(test_type)
455
+ case test_type
456
+ when :unit
457
+ 'Unit'
458
+ when :ui
459
+ 'UI'
405
460
  else
406
461
  raise ArgumentError, "Unknown test type `#{test_type}`."
407
462
  end
@@ -439,6 +494,12 @@ module Pod
439
494
  support_files_dir + "#{label}-prefix.pch"
440
495
  end
441
496
 
497
+ # @return [Hash] the additional entries to add to the generated Info.plist
498
+ #
499
+ def info_plist_entries
500
+ root_spec.info_plist
501
+ end
502
+
442
503
  # @param [String] bundle_name
443
504
  # The name of the bundle product, which is given by the +spec+.
444
505
  #
@@ -464,7 +525,7 @@ module Pod
464
525
  # @return [String] The derived name of the test target.
465
526
  #
466
527
  def test_target_label(test_spec)
467
- "#{label}-#{test_spec.test_type.capitalize}-#{subspec_label(test_spec)}"
528
+ "#{label}-#{label_for_test_type(test_spec.test_type)}-#{subspec_label(test_spec)}"
468
529
  end
469
530
 
470
531
  # @param [Specification] app_spec
@@ -476,6 +537,38 @@ module Pod
476
537
  "#{label}-#{subspec_label(app_spec)}"
477
538
  end
478
539
 
540
+ # @param [Specification] test_spec
541
+ # the test spec to use for producing the app host target label.
542
+ #
543
+ # @return [(String,String)] a tuple, where the first item is the PodTarget#label of the pod target that defines the
544
+ # app host, and the second item is the target name of the app host
545
+ #
546
+ def app_host_target_label(test_spec)
547
+ app_spec, app_target = test_app_hosts_by_spec_name[test_spec.name]
548
+
549
+ if app_spec
550
+ [app_target.name, app_target.app_target_label(app_spec)]
551
+ elsif test_spec.consumer(platform).requires_app_host?
552
+ [name, "AppHost-#{label}-#{label_for_test_type(test_spec.test_type)}-Tests"]
553
+ end
554
+ end
555
+
556
+ # @param [Specification] spec
557
+ # the spec to return app host dependencies for
558
+ #
559
+ # @return [Array<PodTarget>] the app host dependent targets for the given spec.
560
+ #
561
+ def app_host_dependent_targets_for_spec(spec)
562
+ return [] unless spec.test_specification? && spec.consumer(platform).test_type == :unit
563
+ app_host_info = test_app_hosts_by_spec_name[spec.name]
564
+ if app_host_info.nil?
565
+ []
566
+ else
567
+ app_spec, app_target = *app_host_info
568
+ app_target.dependent_targets_for_app_spec(app_spec)
569
+ end
570
+ end
571
+
479
572
  def non_library_spec_label(spec)
480
573
  case spec.spec_type
481
574
  when :test then test_target_label(spec)
@@ -677,7 +770,7 @@ module Pod
677
770
  whitelists.first
678
771
  else
679
772
  UI.warn "The pod `#{pod_name}` is linked to different targets " \
680
- "(#{target_definitions.map { |td| "`#{td.label}`" }.to_sentence}), which contain different " \
773
+ "(#{target_definitions.map { |td| "`#{td.name}`" }.to_sentence}), which contain different " \
681
774
  'settings to inhibit warnings. CocoaPods does not currently ' \
682
775
  'support different settings and will fall back to your preference ' \
683
776
  'set in the root target definition.'
@@ -774,15 +867,6 @@ module Pod
774
867
 
775
868
  private
776
869
 
777
- def scope_dependent_pod_targets(cache, dependent_targets, target_definitions)
778
- Hash[dependent_targets.map do |spec_name, pod_targets|
779
- scoped_pod_targets = pod_targets.flat_map do |pod_target|
780
- pod_target.scoped(cache).select { |pt| pt.target_definitions == target_definitions }
781
- end
782
- [spec_name, scoped_pod_targets]
783
- end]
784
- end
785
-
786
870
  def create_build_settings
787
871
  BuildSettings::PodTargetSettings.new(self)
788
872
  end
@@ -171,12 +171,16 @@ EOS
171
171
 
172
172
  def repo_information
173
173
  Config.instance.sources_manager.all.map do |source|
174
- next unless source.type == 'file system'
175
174
  repo = source.repo
176
- Dir.chdir(repo) do
177
- url = `git config --get remote.origin.url 2>&1`.strip
178
- sha = `git rev-parse HEAD 2>&1`.strip
179
- "#{repo.basename} - #{url} @ #{sha}"
175
+ if source.is_a?(Pod::CDNSource)
176
+ "#{repo.basename} - CDN - #{source.url}"
177
+ elsif source.git?
178
+ Dir.chdir(repo) do
179
+ sha = `git rev-parse HEAD 2>&1`.strip
180
+ "#{repo.basename} - git - #{source.url} @ #{sha}"
181
+ end
182
+ else
183
+ "#{repo.basename} - #{source.type}"
180
184
  end
181
185
  end
182
186
  end
@@ -35,7 +35,7 @@ module Pod
35
35
  # @param [Array<String>] source_urls
36
36
  # the Source URLs to use in creating a {Podfile}.
37
37
  #
38
- # @param. [Array<String>] platforms
38
+ # @param [Array<String>] platforms
39
39
  # the platforms to lint.
40
40
  #
41
41
  def initialize(spec_or_path, source_urls, platforms = [])
@@ -239,6 +239,10 @@ module Pod
239
239
  #
240
240
  attr_accessor :skip_tests
241
241
 
242
+ # @return [Bool] Whether the validator should run Xcode Static Analysis.
243
+ #
244
+ attr_accessor :analyze
245
+
242
246
  # @return [Bool] Whether frameworks should be used for the installation.
243
247
  #
244
248
  attr_accessor :use_frameworks
@@ -411,13 +415,18 @@ module Pod
411
415
  end
412
416
  end
413
417
 
418
+ # @return [Consumer] the consumer for the current platform being validated
419
+ #
414
420
  attr_accessor :consumer
421
+
422
+ # @return [String, Nil] the name of the current subspec being validated, or nil if none
423
+ #
415
424
  attr_accessor :subspec_name
416
425
 
417
426
  # Performs validation of a URL
418
427
  #
419
- def validate_url(url)
420
- resp = Pod::HTTP.validate_url(url)
428
+ def validate_url(url, user_agent = nil)
429
+ resp = Pod::HTTP.validate_url(url, user_agent)
421
430
 
422
431
  if !resp
423
432
  warning('url', "There was a problem validating the URL #{url}.", true)
@@ -450,7 +459,7 @@ module Pod
450
459
  # Performs validations related to the `social_media_url` attribute.
451
460
  #
452
461
  def validate_social_media_url(spec)
453
- validate_url(spec.social_media_url) if spec.social_media_url
462
+ validate_url(spec.social_media_url, 'CocoaPods') if spec.social_media_url
454
463
  end
455
464
 
456
465
  # Performs validations related to the `documentation_url` attribute.
@@ -527,10 +536,14 @@ module Pod
527
536
  end
528
537
 
529
538
  def tear_down_validation_environment
530
- validation_dir.rmtree unless no_clean
539
+ clean! unless no_clean
531
540
  Config.instance = @original_config
532
541
  end
533
542
 
543
+ def clean!
544
+ validation_dir.rmtree
545
+ end
546
+
534
547
  def deployment_target
535
548
  deployment_target = spec.subspec_by_name(subspec_name).deployment_target(consumer.platform_name)
536
549
  if consumer.platform_name == :ios && use_frameworks
@@ -591,11 +604,15 @@ module Pod
591
604
  perform_post_install_actions).each { |m| @installer.send(m) }
592
605
 
593
606
  deployment_target = spec.subspec_by_name(subspec_name).deployment_target(consumer.platform_name)
594
- configure_pod_targets(@installer.aggregate_targets, @installer.target_installation_results, deployment_target)
607
+ configure_pod_targets(@installer.target_installation_results)
608
+ validate_dynamic_framework_support(@installer.aggregate_targets, deployment_target)
595
609
  @installer.pods_project.save
596
610
  end
597
611
 
598
- def configure_pod_targets(targets, target_installation_results, deployment_target)
612
+ # @param [Array<Hash{String, TargetInstallationResult}>] target_installation_results
613
+ # The installation results to configure
614
+ #
615
+ def configure_pod_targets(target_installation_results)
599
616
  target_installation_results.first.values.each do |pod_target_installation_result|
600
617
  pod_target = pod_target_installation_result.target
601
618
  native_target = pod_target_installation_result.native_target
@@ -626,9 +643,21 @@ module Pod
626
643
  end
627
644
  end
628
645
  end
629
- targets.each do |target|
630
- if target.pod_targets.any?(&:uses_swift?) && consumer.platform_name == :ios &&
631
- (deployment_target.nil? || Version.new(deployment_target).major < 8)
646
+ end
647
+
648
+ # Produces an error of dynamic frameworks were requested but are not supported by the deployment target
649
+ #
650
+ # @param [Array<AggregateTarget>] aggregate_targets
651
+ # The aggregate targets installed by the installer
652
+ #
653
+ # @param [String,Version] deployment_target
654
+ # The deployment target of the installation
655
+ #
656
+ def validate_dynamic_framework_support(aggregate_targets, deployment_target)
657
+ return unless consumer.platform_name == :ios
658
+ return unless deployment_target.nil? || Version.new(deployment_target).major < 8
659
+ aggregate_targets.each do |target|
660
+ if target.pod_targets.any?(&:uses_swift?)
632
661
  uses_xctest = target.spec_consumers.any? { |c| (c.frameworks + c.weak_frameworks).include? 'XCTest' }
633
662
  error('swift', 'Swift support uses dynamic frameworks and is therefore only supported on iOS > 8.') unless uses_xctest
634
663
  end
@@ -669,7 +698,18 @@ module Pod
669
698
  if scheme.nil?
670
699
  UI.warn "Skipping compilation with `xcodebuild` because target contains no sources.\n".yellow
671
700
  else
672
- output = xcodebuild('build', scheme, 'Release')
701
+ if analyze
702
+ output = xcodebuild('analyze', scheme, 'Release')
703
+ find_output = Executable.execute_command('find', [validation_dir, '-name', '*.html'], false)
704
+ if find_output != ''
705
+ message = 'Static Analysis failed.'
706
+ message += ' You can use `--verbose` for more information.' unless config.verbose?
707
+ message += ' You can use `--no-clean` to save a reproducible buid environment.' unless no_clean
708
+ error('build_pod', message)
709
+ end
710
+ else
711
+ output = xcodebuild('build', scheme, 'Release')
712
+ end
673
713
  parsed_output = parse_xcodebuild_output(output)
674
714
  translate_output_to_linter_messages(parsed_output)
675
715
  end
@@ -1007,6 +1047,10 @@ module Pod
1007
1047
  command += Fourflusher::SimControl.new.destination(:oldest, 'tvOS', deployment_target)
1008
1048
  end
1009
1049
 
1050
+ if analyze
1051
+ command += %w(CLANG_ANALYZER_OUTPUT=html CLANG_ANALYZER_OUTPUT_DIR=analyzer)
1052
+ end
1053
+
1010
1054
  begin
1011
1055
  _xcodebuild(command, true)
1012
1056
  rescue => e
@@ -7,7 +7,20 @@ module Pod
7
7
  end
8
8
 
9
9
  def self.project_cache_version
10
- "#{VersionMetadata.gem_version}.project-cache.#{CACHE_VERSION}"
10
+ [
11
+ gem_version,
12
+ cocoapods_sha,
13
+ 'project-cache',
14
+ CACHE_VERSION,
15
+ ].compact.join('.')
11
16
  end
17
+
18
+ def self.cocoapods_sha
19
+ return unless gemspec = Gem.loaded_specs['cocoapods']
20
+ return unless source = gemspec.source
21
+ return unless source.respond_to?(:revision)
22
+ source.revision
23
+ end
24
+ private_class_method :cocoapods_sha
12
25
  end
13
26
  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.7.5
4
+ version: 1.8.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-07-19 00:00:00.000000000 Z
14
+ date: 2019-08-05 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.5
22
+ version: 1.8.0.beta.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 1.7.5
29
+ version: 1.8.0.beta.1
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -207,7 +207,7 @@ dependencies:
207
207
  requirements:
208
208
  - - ">="
209
209
  - !ruby/object:Gem::Version
210
- version: 1.10.0
210
+ version: 1.11.1
211
211
  - - "<"
212
212
  - !ruby/object:Gem::Version
213
213
  version: '2.0'
@@ -217,7 +217,7 @@ dependencies:
217
217
  requirements:
218
218
  - - ">="
219
219
  - !ruby/object:Gem::Version
220
- version: 1.10.0
220
+ version: 1.11.1
221
221
  - - "<"
222
222
  - !ruby/object:Gem::Version
223
223
  version: '2.0'
@@ -430,7 +430,6 @@ files:
430
430
  - lib/cocoapods/command/spec/cat.rb
431
431
  - lib/cocoapods/command/spec/create.rb
432
432
  - lib/cocoapods/command/spec/edit.rb
433
- - lib/cocoapods/command/spec/env_spec.rb
434
433
  - lib/cocoapods/command/spec/lint.rb
435
434
  - lib/cocoapods/command/spec/which.rb
436
435
  - lib/cocoapods/command/update.rb