cocoapods 1.8.0.beta.2 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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