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 +4 -4
- data/CHANGELOG.md +22 -0
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/installer/analyzer.rb +12 -0
- data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_dependency_installer.rb +0 -16
- data/lib/cocoapods/target.rb +12 -0
- data/lib/cocoapods/target/aggregate_target.rb +1 -0
- data/lib/cocoapods/target/build_settings.rb +13 -4
- data/lib/cocoapods/target/pod_target.rb +3 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8cf684c8d5f39c524afdfdd61a68939692518f42410a5d4a2dc5f71bba69385b
|
4
|
+
data.tar.gz: bcd14fdf35cf587a0211ba7b62bcda10c13c6788adddf3d15fa3f015f44e3b17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5590a894895b68856d4aae86582f45cfb58772d53fb57c684e450bde890546d8435f9e9e7e4bd2fc38234dd7db5b8b44b2e0b34a07c8493465ebc47b873b9aec
|
7
|
+
data.tar.gz: 280f430c71c5fe5dcd64348ed94ba05f3fd3f293f512eb154488bdb281125b0ee16231faf1ce3e9870f61ffa53737b8344df474a06cede03847132e249b363e3
|
data/CHANGELOG.md
CHANGED
@@ -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
|
@@ -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
|
data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_dependency_installer.rb
CHANGED
@@ -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
|
data/lib/cocoapods/target.rb
CHANGED
@@ -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?
|
568
|
-
|
569
|
-
|
570
|
-
|
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
|
419
|
-
# one used otherwise the one
|
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
|
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-
|
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
|
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
|
29
|
+
version: 1.8.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: claide
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|