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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cb6ea2032e8f048ddbdddbef9d383ddb952c1d7ebec5c2a4ae2fa458b6047af8
4
- data.tar.gz: 0cb3253433506bb0ffbdabc77ef3ca3e4dcd098deeed4bffb9e05c342399a056
3
+ metadata.gz: 2b610fca17dbffb7ed6c959cd5f43bd0ddbf0c2c9b91bb19b03ecf5353804f1a
4
+ data.tar.gz: 6bb43720da1072c1824b2dfcc3735ccdd11eba2845ef8be9cb6caf00b47ef6b0
5
5
  SHA512:
6
- metadata.gz: 8d40b3fb83faad9c20a172c4b980f3aa2412169c180463747883504cb6747fd6adf76013451055c3f3cc3816a555468b9d77436ec73947bd9727192fc4f4d2ae
7
- data.tar.gz: 0f424168358d4940f151f2b67639d4782cf59619b36b62420d880e37ab46d7831cb55abcb1f9b0105e0d8c7933de44009d47a0156633f645254bf58f1fa9f408
6
+ metadata.gz: 83a7c0f693ec49044e4766fa0f427a663358bf1c6346fd366d133a60b70d559209a215c019198593210919f2e42fefda4cff0747384ece6c08a75a9489e491d1
7
+ data.tar.gz: 945634e14120c0deda48a9ce2397fd77b307f2376ffff84f33162fa73324002776b022833180e4d65e9b3638c7a90d2c1c1891557988e1fd471a65dfe1d9d61a
@@ -1,9 +1,31 @@
1
1
  # Installation & Update
2
2
 
3
- To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides/installing_cocoapods.html).
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
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the CocoaPods command line tool.
3
3
  #
4
- VERSION = '1.10.0.beta.2'.freeze unless defined? Pod::VERSION
4
+ VERSION = '1.10.0.rc.1'.freeze unless defined? Pod::VERSION
5
5
  end
@@ -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
- local target_arch_regex="[_\\-]${target_arch}[\\/_\\-]"
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
 
@@ -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
- else
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
 
@@ -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.beta.2
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-08-12 00:00:00.000000000 Z
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.beta.2
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.beta.2
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.3
541
+ rubygems_version: 3.0.6
542
542
  signing_key:
543
543
  specification_version: 3
544
544
  summary: The Cocoa library package manager.