cocoapods 1.10.0.beta.2 → 1.10.0.rc.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/copy_xcframework_script.rb +10 -1
- data/lib/cocoapods/installer/project_cache/project_metadata_cache.rb +4 -0
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +4 -2
- data/lib/cocoapods/validator.rb +6 -4
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b610fca17dbffb7ed6c959cd5f43bd0ddbf0c2c9b91bb19b03ecf5353804f1a
|
4
|
+
data.tar.gz: 6bb43720da1072c1824b2dfcc3735ccdd11eba2845ef8be9cb6caf00b47ef6b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83a7c0f693ec49044e4766fa0f427a663358bf1c6346fd366d133a60b70d559209a215c019198593210919f2e42fefda4cff0747384ece6c08a75a9489e491d1
|
7
|
+
data.tar.gz: 945634e14120c0deda48a9ce2397fd77b307f2376ffff84f33162fa73324002776b022833180e4d65e9b3638c7a90d2c1c1891557988e1fd471a65dfe1d9d61a
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,31 @@
|
|
1
1
|
# Installation & Update
|
2
2
|
|
3
|
-
To install or update CocoaPods see this [guide](
|
3
|
+
To install or update CocoaPods see this [guide](https://guides.cocoapods.org/using/index.html).
|
4
4
|
|
5
5
|
To install release candidates run `[sudo] gem install cocoapods --pre`
|
6
6
|
|
7
|
+
## 1.10.0.rc.1 (2020-09-15)
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* None.
|
12
|
+
|
13
|
+
##### Bug Fixes
|
14
|
+
|
15
|
+
* Fix XCFramework slice selection
|
16
|
+
[lowip](https://github.com/lowip)
|
17
|
+
[#10026](https://github.com/CocoaPods/CocoaPods/issues/10026)
|
18
|
+
|
19
|
+
* Honor test spec deployment target during validation.
|
20
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
21
|
+
[#9999](https://github.com/CocoaPods/CocoaPods/pull/9999)
|
22
|
+
|
23
|
+
* Ensure that incremental installation is able to set target dependencies for a
|
24
|
+
test spec that uses a custom `app_host_name` that is in a project that is not
|
25
|
+
regenerated.
|
26
|
+
[Samuel Giddins](https://github.com/segiddins)
|
27
|
+
|
28
|
+
|
7
29
|
## 1.10.0.beta.2 (2020-08-12)
|
8
30
|
|
9
31
|
##### Enhancements
|
@@ -100,12 +100,21 @@ select_slice() {
|
|
100
100
|
break
|
101
101
|
fi
|
102
102
|
|
103
|
+
# Verifies that the path contains the variant string (simulator or maccatalyst) if the variant is set.
|
104
|
+
if [[ -z "$target_variant" && ("${paths[$i]}" == *"simulator"* || "${paths[$i]}" == *"maccatalyst"*) ]]; then
|
105
|
+
matched_all_archs="0"
|
106
|
+
break
|
107
|
+
fi
|
108
|
+
|
103
109
|
# This regex matches all possible variants of the arch in the folder name:
|
104
110
|
# Let's say the folder name is: ios-armv7_armv7s_arm64_arm64e/CoconutLib.framework
|
105
111
|
# We match the following: -armv7_, _armv7s_, _arm64_ and _arm64e/.
|
106
112
|
# If we have a specific variant: ios-i386_x86_64-simulator/CoconutLib.framework
|
107
113
|
# We match the following: -i386_ and _x86_64-
|
108
|
-
|
114
|
+
# When the .xcframework wraps a static library, the folder name does not include
|
115
|
+
# any .framework. In that case, the folder name can be: ios-arm64_armv7
|
116
|
+
# We also match _armv7$ to handle that case.
|
117
|
+
local target_arch_regex="[_\\-]${target_arch}([\\/_\\-]|$)"
|
109
118
|
if ! [[ "${paths[$i]}" =~ $target_arch_regex ]]; then
|
110
119
|
matched_all_archs="0"
|
111
120
|
break
|
@@ -54,6 +54,10 @@ module Pod
|
|
54
54
|
installation_results.each do |installation_result|
|
55
55
|
native_target = installation_result.native_target
|
56
56
|
target_label_by_metadata[native_target.name] = TargetMetadata.from_native_target(sandbox, native_target)
|
57
|
+
# app targets need to be added to the cache because they can be used as app hosts for test targets, even if those test targets live inside a different pod (and thus project)
|
58
|
+
installation_result.app_native_targets.each_value do |app_target|
|
59
|
+
target_label_by_metadata[app_target.name] = TargetMetadata.from_native_target(sandbox, app_target)
|
60
|
+
end
|
57
61
|
end
|
58
62
|
end
|
59
63
|
|
data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb
CHANGED
@@ -152,11 +152,13 @@ module Pod
|
|
152
152
|
target_attributes[test_native_target.uuid.to_s] = { 'TestTargetID' => app_native_target.uuid.to_s }
|
153
153
|
project.root_object.attributes['TargetAttributes'] = target_attributes
|
154
154
|
test_native_target.add_dependency(app_native_target)
|
155
|
-
|
155
|
+
elsif cached_dependency = metadata_cache.target_label_by_metadata[app_host_target_label]
|
156
156
|
# Hit the cache
|
157
|
-
cached_dependency = metadata_cache.target_label_by_metadata[app_host_target_label]
|
158
157
|
project.add_cached_subproject_reference(sandbox, cached_dependency, project.dependencies_group)
|
159
158
|
Project.add_cached_dependency(sandbox, test_native_target, cached_dependency)
|
159
|
+
else
|
160
|
+
raise "Expected to either have an installation or cache result for #{app_host_target_label} (from pod #{app_host_pod_target_label}) " \
|
161
|
+
"for target #{test_native_target.name} in project #{project.project_name}"
|
160
162
|
end
|
161
163
|
end
|
162
164
|
|
data/lib/cocoapods/validator.rb
CHANGED
@@ -556,6 +556,8 @@ module Pod
|
|
556
556
|
validation_dir.rmtree
|
557
557
|
end
|
558
558
|
|
559
|
+
# @return [String] The deployment targret of the library spec.
|
560
|
+
#
|
559
561
|
def deployment_target
|
560
562
|
deployment_target = spec.subspec_by_name(subspec_name).deployment_target(consumer.platform_name)
|
561
563
|
if consumer.platform_name == :ios && use_frameworks
|
@@ -711,7 +713,7 @@ module Pod
|
|
711
713
|
UI.warn "Skipping compilation with `xcodebuild` because target contains no sources.\n".yellow
|
712
714
|
else
|
713
715
|
if analyze
|
714
|
-
output = xcodebuild('analyze', scheme, 'Release')
|
716
|
+
output = xcodebuild('analyze', scheme, 'Release', :deployment_target => deployment_target)
|
715
717
|
find_output = Executable.execute_command('find', [validation_dir, '-name', '*.html'], false)
|
716
718
|
if find_output != ''
|
717
719
|
message = 'Static Analysis failed.'
|
@@ -720,7 +722,7 @@ module Pod
|
|
720
722
|
error('build_pod', message)
|
721
723
|
end
|
722
724
|
else
|
723
|
-
output = xcodebuild('build', scheme, configuration ? configuration : 'Release')
|
725
|
+
output = xcodebuild('build', scheme, configuration ? configuration : 'Release', :deployment_target => deployment_target)
|
724
726
|
end
|
725
727
|
parsed_output = parse_xcodebuild_output(output)
|
726
728
|
translate_output_to_linter_messages(parsed_output)
|
@@ -757,7 +759,7 @@ module Pod
|
|
757
759
|
UI.warn "Skipping test spec `#{test_spec.name}` on platform `#{consumer.platform_name}` since it is not supported.\n".yellow
|
758
760
|
else
|
759
761
|
scheme = @installer.target_installation_results.first[pod_target.name].native_target_for_spec(test_spec)
|
760
|
-
output = xcodebuild('test', scheme, 'Debug')
|
762
|
+
output = xcodebuild('test', scheme, 'Debug', :deployment_target => test_spec.deployment_target(consumer.platform_name))
|
761
763
|
parsed_output = parse_xcodebuild_output(output)
|
762
764
|
translate_output_to_linter_messages(parsed_output)
|
763
765
|
end
|
@@ -1048,7 +1050,7 @@ module Pod
|
|
1048
1050
|
# @return [String] Executes xcodebuild in the current working directory and
|
1049
1051
|
# returns its output (both STDOUT and STDERR).
|
1050
1052
|
#
|
1051
|
-
def xcodebuild(action, scheme, configuration)
|
1053
|
+
def xcodebuild(action, scheme, configuration, deployment_target:)
|
1052
1054
|
require 'fourflusher'
|
1053
1055
|
command = %W(clean #{action} -workspace #{File.join(validation_dir, 'App.xcworkspace')} -scheme #{scheme} -configuration #{configuration})
|
1054
1056
|
case consumer.platform_name
|
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.10.0.rc.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: 2020-
|
14
|
+
date: 2020-09-15 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.10.0.rc.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.10.0.
|
29
|
+
version: 1.10.0.rc.1
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: claide
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -538,7 +538,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
538
538
|
- !ruby/object:Gem::Version
|
539
539
|
version: '0'
|
540
540
|
requirements: []
|
541
|
-
rubygems_version: 3.0.
|
541
|
+
rubygems_version: 3.0.6
|
542
542
|
signing_key:
|
543
543
|
specification_version: 3
|
544
544
|
summary: The Cocoa library package manager.
|