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 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.