cocoapods 1.9.0.beta.3 → 1.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '090f2135af901aa68538da5553e60544a3a6426353296708272dfd57717bce8d'
4
- data.tar.gz: 9d6a6cfa64727bce678f7c66b8b985f293c78fc0e3bd7d79b8d8c9b0d2a695a8
3
+ metadata.gz: 24f875616a403c4ddb34d0a8b7af2f7d8d63ba851fe9ff6d6fc84200a51ee373
4
+ data.tar.gz: 5e279cf00975ca84acc690b8aa7a731d53e676ca0143d570d1e7bbcbaa4c02ba
5
5
  SHA512:
6
- metadata.gz: 64d5011e5653537b95d7d6e32843289b93f604d36b5fefce4d2b7bb14d7ac3dd0b0cf309ba9e530e2d58f9bc7e7fbb67a31659e0afcdc66782906a00f201f165
7
- data.tar.gz: 94242285df5c8147d52e88c3b5e72e4993955ae6546550085c0a1e457dad67ec56372a36e3790f2d302ac191d3a974b7ae11bb7dcc89b4f5a643f325f6cf2437
6
+ metadata.gz: de961666641f51fbf193e6fd9918b4d1eb0c4faf047fd6ac81379257ce6883feaafbcf235847e3442110c2432da7cf9a8f3539f1999804ab2045cd762878ef02
7
+ data.tar.gz: 4a498dbb1231ec3a6162e86064956b00f198dc483be6838bf9b8236fa2573fac5b65f566f7ae71eaff50231f214b043a191790ef802a278135d3920e5360b54a
@@ -4,6 +4,23 @@ 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.9.0 (2020-02-25)
8
+
9
+ ##### Enhancements
10
+
11
+ * None.
12
+
13
+ ##### Bug Fixes
14
+
15
+ * Also apply Xcode 11 `XCTUnwrap` fix to library and framework targets that weakly link `XCTest`.
16
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
17
+ [#9518](https://github.com/CocoaPods/CocoaPods/pull/9518)
18
+
19
+ * Fix dSYM handling for XCFrameworks.
20
+ [Eric Amorde](https://github.com/amorde)
21
+ [#9530](https://github.com/CocoaPods/CocoaPods/issues/9530)
22
+
23
+
7
24
  ## 1.9.0.beta.3 (2020-02-04)
8
25
 
9
26
  ##### Enhancements
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the CocoaPods command line tool.
3
3
  #
4
- VERSION = '1.9.0.beta.3'.freeze unless defined? Pod::VERSION
4
+ VERSION = '1.9.0'.freeze unless defined? Pod::VERSION
5
5
  end
@@ -129,27 +129,29 @@ module Pod
129
129
  # Copies and strips a vendored dSYM
130
130
  install_dsym() {
131
131
  local source="$1"
132
+ warn_missing_arch=${2:-true}
132
133
  if [ -r "$source" ]; then
133
- # Copy the dSYM into a the targets temp dir.
134
+ # Copy the dSYM into the targets temp dir.
134
135
  echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \\"- CVS/\\" --filter \\"- .svn/\\" --filter \\"- .git/\\" --filter \\"- .hg/\\" --filter \\"- Headers\\" --filter \\"- PrivateHeaders\\" --filter \\"- Modules\\" \\"${source}\\" \\"${DERIVED_FILES_DIR}\\""
135
136
  rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
136
137
 
137
138
  local basename
138
- basename="$(basename -s .framework.dSYM "$source")"
139
- binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}"
139
+ basename="$(basename -s .dSYM "$source")"
140
+ binary_name="$(ls "$source/Contents/Resources/DWARF")"
141
+ binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
140
142
 
141
143
  # Strip invalid architectures so "fat" simulator / device frameworks work on device
142
144
  if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
143
- strip_invalid_archs "$binary"
145
+ strip_invalid_archs "$binary" "$warn_missing_arch"
144
146
  fi
145
147
 
146
148
  if [[ $STRIP_BINARY_RETVAL == 1 ]]; then
147
149
  # Move the stripped file into its final destination.
148
150
  echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \\"- CVS/\\" --filter \\"- .svn/\\" --filter \\"- .git/\\" --filter \\"- .hg/\\" --filter \\"- Headers\\" --filter \\"- PrivateHeaders\\" --filter \\"- Modules\\" \\"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\\" \\"${DWARF_DSYM_FOLDER_PATH}\\""
149
- rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
151
+ rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
150
152
  else
151
153
  # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
152
- touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM"
154
+ touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
153
155
  fi
154
156
  fi
155
157
  }
@@ -180,13 +182,16 @@ module Pod
180
182
  # Strip invalid architectures
181
183
  strip_invalid_archs() {
182
184
  binary="$1"
185
+ warn_missing_arch=${2:-true}
183
186
  # Get architectures for current target binary
184
187
  binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
185
188
  # Intersect them with the architectures we are building for
186
189
  intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\\n' | sort | uniq -d)"
187
190
  # If there are no archs supported by this binary then warn the user
188
191
  if [[ -z "$intersected_archs" ]]; then
189
- echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
192
+ if [[ "$warn_missing_arch" == "true" ]]; then
193
+ echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
194
+ fi
190
195
  STRIP_BINARY_RETVAL=0
191
196
  return
192
197
  fi
@@ -212,7 +217,8 @@ module Pod
212
217
  install_framework "$artifact"
213
218
  ;;
214
219
  *.dSYM)
215
- install_dsym "$artifact"
220
+ # Suppress arch warnings since XCFrameworks will include many dSYM files
221
+ install_dsym "$artifact" "false"
216
222
  ;;
217
223
  *.bcsymbolmap)
218
224
  install_bcsymbolmap "$artifact"
@@ -259,6 +265,18 @@ module Pod
259
265
  SH
260
266
  script
261
267
  end
268
+
269
+ # @param [Xcode::FrameworkPaths] framework_path
270
+ # the framework path containing the dSYM
271
+ #
272
+ # @return [String, Nil] the name of the dSYM binary, if found
273
+ #
274
+ def dsym_binary_name(framework_path)
275
+ return nil if framework_path.dsym_path.nil?
276
+ if (path = Pathname.glob(framework_path.dsym_path.join('Contents/Resources/DWARF', '**/*')).first)
277
+ File.basename(path)
278
+ end
279
+ end
262
280
  end
263
281
  end
264
282
  end
@@ -136,7 +136,8 @@ module Pod
136
136
 
137
137
  install_xcframework() {
138
138
  local basepath="$1"
139
- local embed="$2"
139
+ local dsym_folder="$2"
140
+ local embed="$3"
140
141
  shift
141
142
  local paths=("$@")
142
143
 
@@ -165,6 +166,17 @@ module Pod
165
166
  fi
166
167
 
167
168
  install_framework "$basepath/$target_path" "$embed"
169
+
170
+ if [[ -z "$dsym_folder" || ! -d "$dsym_folder" ]]; then
171
+ return
172
+ fi
173
+
174
+ dsyms=($(ls "$dsym_folder"))
175
+
176
+ local target_dsym=""
177
+ for i in ${!dsyms[@]}; do
178
+ install_artifact "$dsym_folder/${dsyms[$i]}" "$CONFIGURATION_BUILD_DIR" "true"
179
+ done
168
180
  }
169
181
 
170
182
  SH
@@ -186,12 +198,6 @@ module Pod
186
198
  args = install_xcframework_args(xcframework.path, static_slices, true)
187
199
  contents_by_config[config] << %( install_xcframework #{args}\n)
188
200
  end
189
-
190
- dsyms = PrepareArtifactsScript.dsym_paths(xcframework.path)
191
- dsyms.each do |path|
192
- source = shell_escape("${PODS_ROOT}/#{path.relative_path_from(sandbox_root)}")
193
- contents_by_config[config] << %( install_artifact #{source} "${TARGET_BUILD_DIR}" "true"\n)
194
- end
195
201
  end
196
202
  end
197
203
 
@@ -215,6 +221,12 @@ module Pod
215
221
 
216
222
  def install_xcframework_args(root, slices, static)
217
223
  args = [shell_escape("${PODS_ROOT}/#{root.relative_path_from(sandbox_root)}")]
224
+ dsym_folder_arg = if (dsym_folder = PrepareArtifactsScript.dsym_folder(root))
225
+ shell_escape("${PODS_ROOT}/#{dsym_folder.relative_path_from(sandbox_root)}")
226
+ else
227
+ '""'
228
+ end
229
+ args << dsym_folder_arg
218
230
  embed = static ? 'false' : 'true'
219
231
  args << shell_escape(embed)
220
232
  slices.each do |slice|
@@ -229,14 +241,11 @@ module Pod
229
241
  #
230
242
  # @return [Array<Pathname>] all found .dSYM paths
231
243
  #
232
- def dsym_paths(xcframework_path)
244
+ def dsym_folder(xcframework_path)
233
245
  basename = File.basename(xcframework_path, '.xcframework')
234
246
  dsym_basename = basename + '.dSYMs'
235
247
  path = xcframework_path.dirname + dsym_basename
236
- return [] unless File.directory?(path)
237
-
238
- pattern = path + '*.dSYM'
239
- Dir.glob(pattern).map { |s| Pathname.new(s) }
248
+ Pathname.new(path) if File.directory?(path)
240
249
  end
241
250
  end
242
251
  end
@@ -992,7 +992,7 @@ module Pod
992
992
  library_xcconfig? &&
993
993
  target.platform.name == :ios &&
994
994
  Version.new(target.platform.deployment_target) < Version.new('12.2') &&
995
- frameworks_to_import.include?('XCTest')
995
+ (frameworks_to_import + weak_frameworks_to_import).uniq.include?('XCTest')
996
996
  end
997
997
 
998
998
  #-------------------------------------------------------------------------#
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.9.0.beta.3
4
+ version: 1.9.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: 2020-02-04 00:00:00.000000000 Z
14
+ date: 2020-02-25 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.9.0.beta.3
22
+ version: 1.9.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.9.0.beta.3
29
+ version: 1.9.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement