cocoapods 1.8.0.beta.2 → 1.8.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e858311d79665c984b4e70f2d110dcc243e5e2c59e99072ac8578eeeb42caf6
4
- data.tar.gz: 74ffa672b361afc02b514510ade6ba9b3c36b141e4fb536809b013223067bad0
3
+ metadata.gz: 8cf684c8d5f39c524afdfdd61a68939692518f42410a5d4a2dc5f71bba69385b
4
+ data.tar.gz: bcd14fdf35cf587a0211ba7b62bcda10c13c6788adddf3d15fa3f015f44e3b17
5
5
  SHA512:
6
- metadata.gz: 43bc9d9085b54e4f6f9412b259b04ea6c6020912696400bf47003a03798878e3ab5fcedc3bca3e0cdfefd099f7023a1399be2c42745bfb9d964db6f6f498abaf
7
- data.tar.gz: f00fd0c47f6c477858fc1e15f92c7f34d09e3dabab89108ef31f99a47285b5d3923418f2c2b3e63d08d1903e803b2203b0acf64b700f45d7b644184ff3f3aa25
6
+ metadata.gz: 5590a894895b68856d4aae86582f45cfb58772d53fb57c684e450bde890546d8435f9e9e7e4bd2fc38234dd7db5b8b44b2e0b34a07c8493465ebc47b873b9aec
7
+ data.tar.gz: 280f430c71c5fe5dcd64348ed94ba05f3fd3f293f512eb154488bdb281125b0ee16231faf1ce3e9870f61ffa53737b8344df474a06cede03847132e249b363e3
@@ -4,6 +4,28 @@ 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.8.0 (2019-09-23)
8
+
9
+ ##### Enhancements
10
+
11
+ * None.
12
+
13
+ ##### Bug Fixes
14
+
15
+ * Include dependent vendored frameworks in linker flags
16
+ [Alex Coomans](https://github.com/drcapulet)
17
+ [#9045]((https://github.com/CocoaPods/CocoaPods/pull/9045)
18
+
19
+ * Correctly set deployment target for non library specs even if the root spec does not specify one.
20
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
21
+ [#9153](https://github.com/CocoaPods/CocoaPods/pull/9153)
22
+
23
+ * Make `APPLICATION_EXTENSION_API_ONLY` build setting not break when performing a cached incremental install.
24
+ [Igor Makarov](https://github.com/igor-makarov)
25
+ [#8967](https://github.com/CocoaPods/CocoaPods/issues/8967)
26
+ [#9141](https://github.com/CocoaPods/CocoaPods/issues/9141)
27
+ [#9142](https://github.com/CocoaPods/CocoaPods/pull/9142)
28
+
7
29
  ## 1.8.0.beta.2 (2019-08-27)
8
30
 
9
31
  ##### Enhancements
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the CocoaPods command line tool.
3
3
  #
4
- VERSION = '1.8.0.beta.2'.freeze unless defined? Pod::VERSION
4
+ VERSION = '1.8.0'.freeze unless defined? Pod::VERSION
5
5
  end
@@ -438,6 +438,18 @@ module Pod
438
438
  end
439
439
  target.search_paths_aggregate_targets.concat(search_paths_aggregate_targets).freeze
440
440
  end
441
+
442
+ aggregate_targets.each do |aggregate_target|
443
+ is_app_extension = !(aggregate_target.user_targets.map(&:symbol_type) &
444
+ [:app_extension, :watch_extension, :watch2_extension, :tv_extension, :messages_extension]).empty?
445
+ is_app_extension ||= aggregate_target.user_targets.any? { |ut| ut.common_resolved_build_setting('APPLICATION_EXTENSION_API_ONLY') == 'YES' }
446
+
447
+ next unless is_app_extension
448
+
449
+ aggregate_target.mark_application_extension_api_only
450
+ aggregate_target.pod_targets.each(&:mark_application_extension_api_only)
451
+ end
452
+
441
453
  if installation_options.integrate_targets?
442
454
  # Copy embedded target pods that cannot have their pods embedded as frameworks to
443
455
  # their host targets, and ensure we properly link library pods to their host targets
@@ -41,10 +41,6 @@ module Pod
41
41
  aggregate_target = aggregate_target_installation_result.target
42
42
  aggregate_native_target = aggregate_target_installation_result.native_target
43
43
  project = aggregate_native_target.project
44
- is_app_extension = !(aggregate_target.user_targets.map(&:symbol_type) &
45
- [:app_extension, :watch_extension, :watch2_extension, :tv_extension, :messages_extension]).empty?
46
- is_app_extension ||= aggregate_target.user_targets.any? { |ut| ut.common_resolved_build_setting('APPLICATION_EXTENSION_API_ONLY') == 'YES' }
47
- configure_app_extension_api_only_to_native_target(aggregate_native_target) if is_app_extension
48
44
  # Wire up dependencies that are part of inherit search paths for this aggregate target.
49
45
  aggregate_target.search_paths_aggregate_targets.each do |search_paths_target|
50
46
  aggregate_native_target.add_dependency(aggregate_target_installation_results[search_paths_target.name].native_target)
@@ -54,7 +50,6 @@ module Pod
54
50
  if pod_target_installation_result = pod_target_installation_results[pod_target.name]
55
51
  pod_target_native_target = pod_target_installation_result.native_target
56
52
  aggregate_native_target.add_dependency(pod_target_native_target)
57
- configure_app_extension_api_only_to_native_target(pod_target_native_target) if is_app_extension
58
53
  else
59
54
  # Hit the cache
60
55
  is_local = sandbox.local?(pod_target.pod_name)
@@ -65,17 +60,6 @@ module Pod
65
60
  end
66
61
  end
67
62
  end
68
-
69
- private
70
-
71
- # Sets the APPLICATION_EXTENSION_API_ONLY build setting to YES for all
72
- # configurations of the given native target.
73
- #
74
- def configure_app_extension_api_only_to_native_target(native_target)
75
- native_target.build_configurations.each do |config|
76
- config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'YES'
77
- end
78
- end
79
63
  end
80
64
  end
81
65
  end
@@ -46,6 +46,10 @@ module Pod
46
46
  attr_reader :build_type
47
47
  private :build_type
48
48
 
49
+ # @return [Boolean] whether the target can be linked to app extensions only.
50
+ #
51
+ attr_reader :application_extension_api_only
52
+
49
53
  # Initialize a new target
50
54
  #
51
55
  # @param [Sandbox] sandbox @see #sandbox
@@ -63,6 +67,7 @@ module Pod
63
67
  @platform = platform
64
68
  @build_type = build_type
65
69
 
70
+ @application_extension_api_only = false
66
71
  @build_settings = create_build_settings
67
72
  end
68
73
 
@@ -302,6 +307,13 @@ module Pod
302
307
  support_files_dir + "#{label}-dummy.m"
303
308
  end
304
309
 
310
+ # mark the target as extension-only,
311
+ # translates to APPLICATION_EXTENSION_API_ONLY = YES in the build settings
312
+ #
313
+ def mark_application_extension_api_only
314
+ @application_extension_api_only = true
315
+ end
316
+
305
317
  #-------------------------------------------------------------------------#
306
318
 
307
319
  private
@@ -98,6 +98,7 @@ module Pod
98
98
  AggregateTarget.new(sandbox, host_requires_frameworks, user_build_configurations, archs, platform,
99
99
  target_definition, client_root, user_project, user_target_uuids, merged, :build_type => build_type).tap do |aggregate_target|
100
100
  aggregate_target.search_paths_aggregate_targets.concat(search_paths_aggregate_targets).freeze
101
+ aggregate_target.mark_application_extension_api_only if application_extension_api_only
101
102
  end
102
103
  end
103
104
 
@@ -564,12 +564,16 @@ module Pod
564
564
 
565
565
  frameworks = []
566
566
  frameworks.concat consumer_frameworks
567
- if library_xcconfig? && (target.should_build? && target.build_as_dynamic?)
568
- frameworks.concat vendored_static_frameworks.map { |l| File.basename(l, '.framework') }
569
- end
570
- if non_library_xcconfig?
567
+ if library_xcconfig?
568
+ # We know that this library target is being built dynamically based
569
+ # on the guard above, so include any vendored static frameworks.
570
+ frameworks.concat vendored_static_frameworks.map { |l| File.basename(l, '.framework') } if target.should_build?
571
+ # Also include any vendored dynamic frameworks of dependencies.
572
+ frameworks.concat dependent_targets.reject(&:should_build?).flat_map { |pt| pt.build_settings.dynamic_frameworks_to_import }
573
+ else
571
574
  frameworks.concat dependent_targets_to_link.flat_map { |pt| pt.build_settings.frameworks_to_import }
572
575
  end
576
+
573
577
  frameworks
574
578
  end
575
579
 
@@ -856,6 +860,11 @@ module Pod
856
860
  target.configuration_build_dir(CONFIGURATION_BUILD_DIR_VARIABLE)
857
861
  end
858
862
 
863
+ # @return [String]
864
+ define_build_settings_method :application_extension_api_only, :build_setting => true, :memoized => true do
865
+ target.application_extension_api_only ? 'YES' : nil
866
+ end
867
+
859
868
  #-------------------------------------------------------------------------#
860
869
 
861
870
  # @!group Target Properties
@@ -415,12 +415,12 @@ module Pod
415
415
 
416
416
  # @param [Specification] spec The non library spec to calculate the deployment target for.
417
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.
418
+ # @return [String] The deployment target to use for the non library spec. If the non library spec explicitly
419
+ # specifies one then this is the one used otherwise the one that was determined by the analyzer is used.
420
420
  #
421
421
  def deployment_target_for_non_library_spec(spec)
422
422
  raise ArgumentError, 'Must be a non library spec.' unless spec.non_library_specification?
423
- spec.deployment_target(platform.name)
423
+ spec.deployment_target(platform.name.to_s) || platform.deployment_target.to_s
424
424
  end
425
425
 
426
426
  # Returns the corresponding native product type to use given the test type.
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.8.0.beta.2
4
+ version: 1.8.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: 2019-08-27 00:00:00.000000000 Z
14
+ date: 2019-09-23 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.8.0.beta.2
22
+ version: 1.8.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.8.0.beta.2
29
+ version: 1.8.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement