cocoapods 1.10.0.beta.2 → 1.10.0.rc.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.
- 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.
|