cocoapods 1.9.1 → 1.10.2
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 +292 -5
- data/README.md +2 -1
- data/lib/cocoapods/command/lib/lint.rb +12 -3
- data/lib/cocoapods/command/repo/push.rb +1 -1
- data/lib/cocoapods/command/repo/update.rb +11 -0
- data/lib/cocoapods/command/spec/lint.rb +12 -3
- data/lib/cocoapods/command.rb +12 -2
- data/lib/cocoapods/config.rb +17 -0
- data/lib/cocoapods/downloader/cache.rb +2 -2
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/app_target_helper.rb +10 -2
- data/lib/cocoapods/generator/copy_dsyms_script.rb +56 -0
- data/lib/cocoapods/generator/copy_resources_script.rb +2 -14
- data/lib/cocoapods/generator/copy_xcframework_script.rb +245 -0
- data/lib/cocoapods/generator/embed_frameworks_script.rb +125 -212
- data/lib/cocoapods/generator/script_phase_constants.rb +99 -0
- data/lib/cocoapods/installer/analyzer/target_inspection_result.rb +1 -1
- data/lib/cocoapods/installer/analyzer.rb +17 -8
- data/lib/cocoapods/installer/base_install_hooks_context.rb +135 -0
- data/lib/cocoapods/installer/installation_options.rb +5 -0
- data/lib/cocoapods/installer/pod_source_installer.rb +2 -1
- data/lib/cocoapods/installer/post_install_hooks_context.rb +1 -127
- data/lib/cocoapods/installer/post_integrate_hooks_context.rb +9 -0
- data/lib/cocoapods/installer/project_cache/project_metadata_cache.rb +4 -0
- data/lib/cocoapods/installer/sandbox_dir_cleaner.rb +2 -1
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +132 -111
- data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb +13 -27
- data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +5 -1
- data/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb +2 -1
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +8 -6
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +187 -61
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +61 -30
- data/lib/cocoapods/installer/xcode/pods_project_generator/project_generator.rb +3 -2
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +5 -7
- data/lib/cocoapods/installer/xcode/pods_project_generator.rb +45 -6
- data/lib/cocoapods/installer/xcode/pods_project_generator_result.rb +19 -0
- data/lib/cocoapods/installer/xcode/target_validator.rb +1 -1
- data/lib/cocoapods/installer.rb +70 -3
- data/lib/cocoapods/sandbox/file_accessor.rb +10 -1
- data/lib/cocoapods/sources_manager.rb +2 -1
- data/lib/cocoapods/target/aggregate_target.rb +35 -0
- data/lib/cocoapods/target/build_settings.rb +94 -18
- data/lib/cocoapods/target/pod_target.rb +85 -11
- data/lib/cocoapods/target.rb +44 -2
- data/lib/cocoapods/user_interface/error_report.rb +1 -1
- data/lib/cocoapods/user_interface/inspector_reporter.rb +3 -10
- data/lib/cocoapods/validator.rb +38 -12
- data/lib/cocoapods/xcode/framework_paths.rb +1 -1
- data/lib/cocoapods/xcode/xcframework/xcframework_slice.rb +91 -4
- data/lib/cocoapods/xcode/xcframework.rb +17 -4
- data/lib/cocoapods.rb +3 -1
- metadata +31 -53
- data/lib/cocoapods/generator/prepare_artifacts_script.rb +0 -257
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c9864dec487d5e04b5d9cf7f4bc36a25ba9793c629ae64bf71eabb30cc8b040
|
4
|
+
data.tar.gz: 70643343f2fc6e263c7fbcd41df19646b6c321d5c3b7d112b1a674bc72bdbdf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1b48cdba64b6721446371c392d5fb1f93a28854addcc7dc4724e79484cbe995b75f46675ffd0a0ba3feafb60590e60baf22b725062119bf0e64246e68c5502c
|
7
|
+
data.tar.gz: de5fa055225078932fac6470a3fda8bb0deef31f6a9165a4b77c84efb778989e82edb9e54197a319b9704c1f0c415516fe703a6333f05f47401087d1e78efa18
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,289 @@
|
|
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.
|
7
|
+
## 1.10.2 (2021-07-28)
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* None.
|
12
|
+
|
13
|
+
##### Bug Fixes
|
14
|
+
|
15
|
+
* Fix errors when archiving a Catalyst app which depends on a pod which uses `header_mappings_dir`.
|
16
|
+
[Thomas Goyne](https://github.com/tgoyne)
|
17
|
+
[#10224](https://github.com/CocoaPods/CocoaPods/pull/10224)
|
18
|
+
|
19
|
+
* Fix missing `-ObjC` for static XCFrameworks - take 2
|
20
|
+
[Paul Beusterien](https://github.com/paulb777)
|
21
|
+
[#10459](https://github.com/CocoaPods/CocoaPods/issuess/10459)
|
22
|
+
|
23
|
+
* Change URL validation failure to a note
|
24
|
+
[Paul Beusterien](https://github.com/paulb777)
|
25
|
+
[#10291](https://github.com/CocoaPods/CocoaPods/issues/10291)
|
26
|
+
|
27
|
+
|
28
|
+
## 1.10.1 (2021-01-07)
|
29
|
+
|
30
|
+
##### Enhancements
|
31
|
+
|
32
|
+
* None.
|
33
|
+
|
34
|
+
##### Bug Fixes
|
35
|
+
|
36
|
+
* Fix library name in LD `-l` flags for XCFrameworks containing libraries
|
37
|
+
[Wes Campaigne](https://github.com/Westacular)
|
38
|
+
[#10165](https://github.com/CocoaPods/CocoaPods/issues/10165)
|
39
|
+
|
40
|
+
* Fix file extension replacement for resource paths when using static frameworks.
|
41
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
42
|
+
[#10206](https://github.com/CocoaPods/CocoaPods/issues/10206)
|
43
|
+
|
44
|
+
* Fix processing of xcassets resources when pod target is static framework
|
45
|
+
[Federico Trimboli](https://github.com/fedetrim)
|
46
|
+
[#10175](https://github.com/CocoaPods/CocoaPods/pull/10175)
|
47
|
+
[#10170](https://github.com/CocoaPods/CocoaPods/issues/10170)
|
48
|
+
|
49
|
+
* Fix missing `-ObjC` for static XCFrameworks
|
50
|
+
[Paul Beusterien](https://github.com/paulb777)
|
51
|
+
[#10234](https://github.com/CocoaPods/CocoaPods/pull/10234)
|
52
|
+
|
53
|
+
|
54
|
+
## 1.10.0 (2020-10-20)
|
55
|
+
|
56
|
+
##### Enhancements
|
57
|
+
|
58
|
+
* None.
|
59
|
+
|
60
|
+
##### Bug Fixes
|
61
|
+
|
62
|
+
* Generate the correct LD `-l` flags for XCFrameworks containing libraries
|
63
|
+
[Wes Campaigne](https://github.com/Westacular)
|
64
|
+
[#10071](https://github.com/CocoaPods/CocoaPods/issues/10071)
|
65
|
+
|
66
|
+
* Add support for automatically embedding XCFramework debug symbols for XCFrameworks generated with Xcode 12
|
67
|
+
[johntmcintosh](https://github.com/johntmcintosh)
|
68
|
+
[#10111](https://github.com/CocoaPods/CocoaPods/issues/10111)
|
69
|
+
|
70
|
+
## 1.10.0.rc.1 (2020-09-15)
|
71
|
+
|
72
|
+
##### Enhancements
|
73
|
+
|
74
|
+
* None.
|
75
|
+
|
76
|
+
##### Bug Fixes
|
77
|
+
|
78
|
+
* Fix XCFramework slice selection
|
79
|
+
[lowip](https://github.com/lowip)
|
80
|
+
[#10026](https://github.com/CocoaPods/CocoaPods/issues/10026)
|
81
|
+
|
82
|
+
* Honor test spec deployment target during validation.
|
83
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
84
|
+
[#9999](https://github.com/CocoaPods/CocoaPods/pull/9999)
|
85
|
+
|
86
|
+
* Ensure that incremental installation is able to set target dependencies for a
|
87
|
+
test spec that uses a custom `app_host_name` that is in a project that is not
|
88
|
+
regenerated.
|
89
|
+
[Samuel Giddins](https://github.com/segiddins)
|
90
|
+
|
91
|
+
|
92
|
+
## 1.10.0.beta.2 (2020-08-12)
|
93
|
+
|
94
|
+
##### Enhancements
|
95
|
+
|
96
|
+
* None.
|
97
|
+
|
98
|
+
##### Bug Fixes
|
99
|
+
|
100
|
+
* Ensure that static frameworks are not embedded
|
101
|
+
[Bernard Gatt](https://github.com/BernardGatt)
|
102
|
+
[#9943](https://github.com/CocoaPods/CocoaPods/issues/9943)
|
103
|
+
|
104
|
+
* Ensure that the non-compilable resource skipping in static frameworks happens only for the pod itself
|
105
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
106
|
+
[#9922](https://github.com/CocoaPods/CocoaPods/pull/9922)
|
107
|
+
[#9920](https://github.com/CocoaPods/CocoaPods/issues/9920)
|
108
|
+
|
109
|
+
|
110
|
+
## 1.10.0.beta.1 (2020-07-17)
|
111
|
+
|
112
|
+
##### Breaking
|
113
|
+
|
114
|
+
* Bump minimum Ruby version to 2.3.3 (included with macOS High Sierra)
|
115
|
+
[Eric Amorde](https://github.com/amorde)
|
116
|
+
[#9821](https://github.com/CocoaPods/CocoaPods/issues/9821)
|
117
|
+
|
118
|
+
##### Enhancements
|
119
|
+
|
120
|
+
* Add the App Clip product symbol to the list of products that need embedding.
|
121
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
122
|
+
[#9882](https://github.com/CocoaPods/CocoaPods/pull/9882)
|
123
|
+
|
124
|
+
* Allow gem to run as root when passing argument flag `--allow-root`
|
125
|
+
[Sean Reinhardt](https://github.com/seanreinhardtapps)
|
126
|
+
[#8929](https://github.com/CocoaPods/CocoaPods/issues/8929)
|
127
|
+
|
128
|
+
* Warn users to delete the master specs repo if its not explicitly used.
|
129
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
130
|
+
[#9871](https://github.com/CocoaPods/CocoaPods/pull/9871)
|
131
|
+
|
132
|
+
* Use User Project's compatibilityVersion instead of objectVersion when
|
133
|
+
deciding when to use xcfilelists.
|
134
|
+
[Sean Reinhardt](https://github.com/seanreinhardtapps)
|
135
|
+
[#9140](https://github.com/CocoaPods/CocoaPods/issues/9140)
|
136
|
+
|
137
|
+
* add a `--configuration` option to `pod lib lint` and `pod spec lint`.
|
138
|
+
[Gereon Steffens](https://github.com/gereons)
|
139
|
+
[#9686](https://github.com/CocoaPods/CocoaPods/issues/9686)
|
140
|
+
|
141
|
+
* Add a post_integrate_hook API
|
142
|
+
[lucasmpaim](https://github.com/lucasmpaim)
|
143
|
+
[#7432](https://github.com/CocoaPods/CocoaPods/issues/7432)
|
144
|
+
|
145
|
+
* Set the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting if integrating with
|
146
|
+
a target that has the setting set to `YES` (directly or in an .xcconfig).
|
147
|
+
[Juanjo López](https://github.com/juanjonol)
|
148
|
+
[#9232](https://github.com/CocoaPods/CocoaPods/issues/9232)
|
149
|
+
|
150
|
+
* Option to lint a specified set of test_specs
|
151
|
+
[Paul Beusterien](https://github.com/paulb777)
|
152
|
+
[#9392](https://github.com/CocoaPods/CocoaPods/pull/9392)
|
153
|
+
|
154
|
+
* Add --use-static-frameworks lint option
|
155
|
+
[Paul Beusterien](https://github.com/paulb777)
|
156
|
+
[#9632](https://github.com/CocoaPods/CocoaPods/pull/9632)
|
157
|
+
|
158
|
+
* Exclude the local spec-repos directory from Time Machine Backups.
|
159
|
+
[Jakob Krigovsky](https://github.com/sonicdoe)
|
160
|
+
[#8308](https://github.com/CocoaPods/CocoaPods/issues/8308)
|
161
|
+
|
162
|
+
##### Bug Fixes
|
163
|
+
|
164
|
+
* Override Xcode 12 default for erroring on quoted imports in umbrellas.
|
165
|
+
[Paul Beusterien](https://github.com/paulb777)
|
166
|
+
[#9902](https://github.com/CocoaPods/CocoaPods/issues/9902)
|
167
|
+
|
168
|
+
* Remove bitcode symbol maps from embedded framework bundles
|
169
|
+
[Eric Amorde](https://github.com/amorde)
|
170
|
+
[#9681](https://github.com/CocoaPods/CocoaPods/issues/9681)
|
171
|
+
|
172
|
+
* Prevent "source changed" message for every version change when using trunk source
|
173
|
+
[cltnschlosser](https://github.com/cltnschlosser)
|
174
|
+
[#9865](https://github.com/CocoaPods/CocoaPods/issues/9865)
|
175
|
+
|
176
|
+
* When pod target is a static framework, save time by copying compiled resources
|
177
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
178
|
+
[#9441](https://github.com/CocoaPods/CocoaPods/pull/9441)
|
179
|
+
|
180
|
+
* Re-implement `bcsymbolmap` copying to avoid duplicate outputs.
|
181
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
182
|
+
[mplorentz](https://github.com/mplorentz)
|
183
|
+
[#9734](https://github.com/CocoaPods/CocoaPods/pull/9734)
|
184
|
+
|
185
|
+
* Fix Xcode 11 warning when setting Bundle Identifier in `info_plist`
|
186
|
+
[Sean Reinhardt](https://github.com/seanreinhardtapps)
|
187
|
+
[#9536](https://github.com/CocoaPods/CocoaPods/issues/9536)
|
188
|
+
|
189
|
+
* Fix `incompatible encoding regexp match` for linting non-ascii pod name
|
190
|
+
[banjun](https://github.com/banjun)
|
191
|
+
[#9765](https://github.com/CocoaPods/CocoaPods/issues/9765)
|
192
|
+
[#9776](https://github.com/CocoaPods/CocoaPods/pull/9776)
|
193
|
+
|
194
|
+
* Fix crash when targets missing in Podfile
|
195
|
+
[Paul Beusterien](https://github.com/paulb777)
|
196
|
+
[#9745](https://github.com/CocoaPods/CocoaPods/pull/9745)
|
197
|
+
|
198
|
+
* Fix adding developer library search paths during pod validation.
|
199
|
+
[Nick Entin](https://github.com/NickEntin)
|
200
|
+
[#9736](https://github.com/CocoaPods/CocoaPods/pull/9736)
|
201
|
+
|
202
|
+
* Fix an issue that caused multiple xcframework scripts to produce the same output files
|
203
|
+
[Eric Amorde](https://github.com/amorde)
|
204
|
+
[#9670](https://github.com/CocoaPods/CocoaPods/issues/9670)
|
205
|
+
[#9720](https://github.com/CocoaPods/CocoaPods/pull/9720)
|
206
|
+
|
207
|
+
* Fix an issue preventing framework user targets with an xcframework dependency from building successfully
|
208
|
+
[Eric Amorde](https://github.com/amorde)
|
209
|
+
[#9525](https://github.com/CocoaPods/CocoaPods/issues/9525)
|
210
|
+
[#9720](https://github.com/CocoaPods/CocoaPods/pull/9720)
|
211
|
+
|
212
|
+
* Fix an issue preventing xcframeworks that wrapped static libraries from linking successfully
|
213
|
+
[Eric Amorde](https://github.com/amorde)
|
214
|
+
[#9528](https://github.com/CocoaPods/CocoaPods/issues/9528)
|
215
|
+
[#9720](https://github.com/CocoaPods/CocoaPods/pull/9720)
|
216
|
+
|
217
|
+
* Fix setting `swift_version` when deduplicate targets is turned off.
|
218
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
219
|
+
[#9689](https://github.com/CocoaPods/CocoaPods/pull/9689)
|
220
|
+
|
221
|
+
* Honor prefix_header_file=false for subspecs
|
222
|
+
[Paul Beusterien](https://github.com/paulb777)
|
223
|
+
[#9687](https://github.com/CocoaPods/CocoaPods/pull/9687)
|
224
|
+
|
225
|
+
* Do not clean user projects from sandbox.
|
226
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
227
|
+
[#9683](https://github.com/CocoaPods/CocoaPods/pull/9683)
|
228
|
+
|
229
|
+
* Fix mapping of resource paths for app specs.
|
230
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
231
|
+
[#9676](https://github.com/CocoaPods/CocoaPods/pull/9676)
|
232
|
+
|
233
|
+
* When preserving pod paths, preserve ALL the paths
|
234
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
235
|
+
[#9483](https://github.com/CocoaPods/CocoaPods/pull/9483)
|
236
|
+
|
237
|
+
* Re-implement `dSYM` copying and stripping to avoid duplicate outputs.
|
238
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
239
|
+
[#9185](https://github.com/CocoaPods/CocoaPods/issues/9185)
|
240
|
+
|
241
|
+
* Add support for running tests through the scheme of the app spec host of a test spec
|
242
|
+
[Eric Amorde](https://github.com/amorde)
|
243
|
+
[#9332](https://github.com/CocoaPods/CocoaPods/issues/9332)
|
244
|
+
|
245
|
+
* Fix an issue that prevented variables in test bundle scheme settings from expanding
|
246
|
+
[Eric Amorde](https://github.com/amorde)
|
247
|
+
[#9539](https://github.com/CocoaPods/CocoaPods/pull/9539)
|
248
|
+
|
249
|
+
* Fix project path handling issue that caused cmake projects to be incorrect
|
250
|
+
[Paul Beusterien](https://github.com/paulb777)
|
251
|
+
[Andrew](https://github.com/mad-rain)
|
252
|
+
[#6268](https://github.com/CocoaPods/CocoaPods/pull/6268)
|
253
|
+
|
254
|
+
* Set `Missing Localizability` setting to `'YES'` to prevent warnings in Xcode 11
|
255
|
+
[Eric Amorde](https://github.com/amorde)
|
256
|
+
[#9612](https://github.com/CocoaPods/CocoaPods/pull/9612)
|
257
|
+
|
258
|
+
* Don't crash on non UTF-8 error message
|
259
|
+
[Kenji KATO](https://github.com/katoken-0215)
|
260
|
+
[#9706](https://github.com/CocoaPods/CocoaPods/pull/9706)
|
261
|
+
|
262
|
+
* Fix XCFramework slice selection when having more archs in slice than requested with $ARCHS
|
263
|
+
[jerbob92](https://github.com/jerbob92)
|
264
|
+
[#9790](https://github.com/CocoaPods/CocoaPods/pull/9790)
|
265
|
+
|
266
|
+
* Don't add app spec dependencies to the parent library's target in Xcode,
|
267
|
+
which was happening when the dependency's project was not being regenerated
|
268
|
+
due to incremental installation.
|
269
|
+
[segiddins][https://github.com/segiddins]
|
270
|
+
|
271
|
+
* Add the trunk repo to the default `sources` for the `repo push` command
|
272
|
+
[Elf Sundae](https://github.com/ElfSundae)
|
273
|
+
[#9840](https://github.com/CocoaPods/CocoaPods/pull/9840)
|
274
|
+
|
275
|
+
## 1.9.3 (2020-05-29)
|
276
|
+
|
277
|
+
##### Enhancements
|
278
|
+
|
279
|
+
* None.
|
280
|
+
|
281
|
+
##### Bug Fixes
|
282
|
+
|
283
|
+
* None.
|
284
|
+
|
285
|
+
|
286
|
+
## 1.9.2 (2020-05-22)
|
8
287
|
|
9
288
|
##### Enhancements
|
10
289
|
|
@@ -12,6 +291,15 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
12
291
|
|
13
292
|
##### Bug Fixes
|
14
293
|
|
294
|
+
* None.
|
295
|
+
|
296
|
+
|
297
|
+
## 1.9.1 (2020-03-09)
|
298
|
+
|
299
|
+
##### Enhancements
|
300
|
+
|
301
|
+
##### Bug Fixes
|
302
|
+
|
15
303
|
* Apply correct `SYSTEM_FRAMEWORK_SEARCH_PATHS` for `XCTUnwrap` fix.
|
16
304
|
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
17
305
|
[#9579](https://github.com/CocoaPods/CocoaPods/pull/9579)
|
@@ -35,13 +323,12 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
35
323
|
|
36
324
|
* Also apply Xcode 11 `XCTUnwrap` fix to library and framework targets that weakly link `XCTest`.
|
37
325
|
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
38
|
-
[#9518](https://github.com/CocoaPods/CocoaPods/pull/9518)
|
39
|
-
|
326
|
+
[#9518](https://github.com/CocoaPods/CocoaPods/pull/9518)
|
327
|
+
|
40
328
|
* Fix dSYM handling for XCFrameworks.
|
41
329
|
[Eric Amorde](https://github.com/amorde)
|
42
330
|
[#9530](https://github.com/CocoaPods/CocoaPods/issues/9530)
|
43
331
|
|
44
|
-
|
45
332
|
## 1.9.0.beta.3 (2020-02-04)
|
46
333
|
|
47
334
|
##### Enhancements
|
data/README.md
CHANGED
@@ -4,7 +4,8 @@
|
|
4
4
|
|
5
5
|
[](https://travis-ci.org/CocoaPods/CocoaPods)
|
6
6
|
[](http://badge.fury.io/rb/cocoapods)
|
7
|
-
[](https://codeclimate.com/github/CocoaPods/CocoaPods/maintainability)
|
8
|
+
[](https://codeclimate.com/github/CocoaPods/CocoaPods/test_coverage)
|
8
9
|
|
9
10
|
CocoaPods manages dependencies for your Xcode projects.
|
10
11
|
|
@@ -22,6 +22,7 @@ module Pod
|
|
22
22
|
['--fail-fast', 'Lint stops on the first failing platform or subspec'],
|
23
23
|
['--use-libraries', 'Lint uses static libraries to install the spec'],
|
24
24
|
['--use-modular-headers', 'Lint uses modular headers during installation'],
|
25
|
+
['--use-static-frameworks', 'Lint uses static frameworks during installation'],
|
25
26
|
["--sources=#{Pod::TrunkSource::TRUNK_REPO_URL}", 'The sources from which to pull dependent pods ' \
|
26
27
|
"(defaults to #{Pod::TrunkSource::TRUNK_REPO_URL}). Multiple sources must be comma-delimited"],
|
27
28
|
['--platforms=ios,macos', 'Lint against specific platforms (defaults to all platforms supported by the ' \
|
@@ -34,7 +35,9 @@ module Pod
|
|
34
35
|
'via :podspec. If there are --include-podspecs, then these are removed from them'],
|
35
36
|
['--skip-import-validation', 'Lint skips validating that the pod can be imported'],
|
36
37
|
['--skip-tests', 'Lint skips building and running tests during validation'],
|
38
|
+
['--test-specs=test-spec1,test-spec2,etc', 'List of test specs to run'],
|
37
39
|
['--analyze', 'Validate with the Xcode Static Analysis tool'],
|
40
|
+
['--configuration=CONFIGURATION', 'Build using the given configuration (defaults to Release)'],
|
38
41
|
].concat(super)
|
39
42
|
end
|
40
43
|
|
@@ -47,6 +50,7 @@ module Pod
|
|
47
50
|
@only_subspec = argv.option('subspec')
|
48
51
|
@use_frameworks = !argv.flag?('use-libraries')
|
49
52
|
@use_modular_headers = argv.flag?('use-modular-headers')
|
53
|
+
@use_static_frameworks = argv.flag?('use-static-frameworks')
|
50
54
|
@source_urls = argv.option('sources', Pod::TrunkSource::TRUNK_REPO_URL).split(',')
|
51
55
|
@platforms = argv.option('platforms', '').split(',')
|
52
56
|
@private = argv.flag?('private', false)
|
@@ -54,9 +58,11 @@ module Pod
|
|
54
58
|
@include_podspecs = argv.option('include-podspecs', nil)
|
55
59
|
@external_podspecs = argv.option('external-podspecs', nil)
|
56
60
|
@skip_import_validation = argv.flag?('skip-import-validation', false)
|
57
|
-
@skip_tests
|
58
|
-
@
|
59
|
-
@
|
61
|
+
@skip_tests = argv.flag?('skip-tests', false)
|
62
|
+
@test_specs = argv.option('test-specs', nil)&.split(',')
|
63
|
+
@analyze = argv.flag?('analyze', false)
|
64
|
+
@podspecs_paths = argv.arguments!
|
65
|
+
@configuration = argv.option('configuration', nil)
|
60
66
|
super
|
61
67
|
end
|
62
68
|
|
@@ -77,13 +83,16 @@ module Pod
|
|
77
83
|
validator.only_subspec = @only_subspec
|
78
84
|
validator.use_frameworks = @use_frameworks
|
79
85
|
validator.use_modular_headers = @use_modular_headers
|
86
|
+
validator.use_static_frameworks = @use_static_frameworks
|
80
87
|
validator.ignore_public_only_results = @private
|
81
88
|
validator.swift_version = @swift_version
|
82
89
|
validator.skip_import_validation = @skip_import_validation
|
83
90
|
validator.skip_tests = @skip_tests
|
91
|
+
validator.test_specs = @test_specs
|
84
92
|
validator.analyze = @analyze
|
85
93
|
validator.include_podspecs = @include_podspecs
|
86
94
|
validator.external_podspecs = @external_podspecs
|
95
|
+
validator.configuration = @configuration
|
87
96
|
validator.validate
|
88
97
|
|
89
98
|
unless @clean
|
@@ -45,7 +45,7 @@ module Pod
|
|
45
45
|
@local_only = argv.flag?('local-only')
|
46
46
|
@repo = argv.shift_argument
|
47
47
|
@source = source_for_repo
|
48
|
-
@source_urls = argv.option('sources', config.sources_manager.all.map(&:url).join(',')).split(',')
|
48
|
+
@source_urls = argv.option('sources', config.sources_manager.all.map(&:url).append(Pod::TrunkSource::TRUNK_REPO_URL).uniq.join(',')).split(',')
|
49
49
|
@podspec = argv.shift_argument
|
50
50
|
@use_frameworks = !argv.flag?('use-libraries')
|
51
51
|
@use_modular_headers = argv.flag?('use-modular-headers', false)
|
@@ -21,6 +21,17 @@ module Pod
|
|
21
21
|
def run
|
22
22
|
show_output = !config.silent?
|
23
23
|
config.sources_manager.update(@name, show_output)
|
24
|
+
exclude_repos_dir_from_backup
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
# Excludes the repos directory from backups.
|
30
|
+
#
|
31
|
+
# @return [void]
|
32
|
+
#
|
33
|
+
def exclude_repos_dir_from_backup
|
34
|
+
config.exclude_from_backup(config.repos_dir)
|
24
35
|
end
|
25
36
|
end
|
26
37
|
end
|
@@ -24,6 +24,7 @@ module Pod
|
|
24
24
|
['--fail-fast', 'Lint stops on the first failing platform or subspec'],
|
25
25
|
['--use-libraries', 'Lint uses static libraries to install the spec'],
|
26
26
|
['--use-modular-headers', 'Lint uses modular headers during installation'],
|
27
|
+
['--use-static-frameworks', 'Lint uses static frameworks during installation'],
|
27
28
|
["--sources=#{Pod::TrunkSource::TRUNK_REPO_URL}", 'The sources from which to pull dependent pods ' \
|
28
29
|
"(defaults to #{Pod::TrunkSource::TRUNK_REPO_URL}). Multiple sources must be comma-delimited"],
|
29
30
|
['--platforms=ios,macos', 'Lint against specific platforms (defaults to all platforms supported by the ' \
|
@@ -33,7 +34,9 @@ module Pod
|
|
33
34
|
'This takes precedence over the Swift versions specified by the spec or a `.swift-version` file'],
|
34
35
|
['--skip-import-validation', 'Lint skips validating that the pod can be imported'],
|
35
36
|
['--skip-tests', 'Lint skips building and running tests during validation'],
|
37
|
+
['--test-specs=test-spec1,test-spec2,etc', 'List of test specs to run'],
|
36
38
|
['--analyze', 'Validate with the Xcode Static Analysis tool'],
|
39
|
+
['--configuration=CONFIGURATION', 'Build using the given configuration (defaults to Release)'],
|
37
40
|
].concat(super)
|
38
41
|
end
|
39
42
|
|
@@ -46,14 +49,17 @@ module Pod
|
|
46
49
|
@only_subspec = argv.option('subspec')
|
47
50
|
@use_frameworks = !argv.flag?('use-libraries')
|
48
51
|
@use_modular_headers = argv.flag?('use-modular-headers')
|
52
|
+
@use_static_frameworks = argv.flag?('use-static-frameworks')
|
49
53
|
@source_urls = argv.option('sources', Pod::TrunkSource::TRUNK_REPO_URL).split(',')
|
50
54
|
@platforms = argv.option('platforms', '').split(',')
|
51
55
|
@private = argv.flag?('private', false)
|
52
56
|
@swift_version = argv.option('swift-version', nil)
|
53
57
|
@skip_import_validation = argv.flag?('skip-import-validation', false)
|
54
|
-
@skip_tests
|
55
|
-
@
|
56
|
-
@
|
58
|
+
@skip_tests = argv.flag?('skip-tests', false)
|
59
|
+
@test_specs = argv.option('test-specs', nil)&.split(',')
|
60
|
+
@analyze = argv.flag?('analyze', false)
|
61
|
+
@podspecs_paths = argv.arguments!
|
62
|
+
@configuration = argv.option('configuration', nil)
|
57
63
|
super
|
58
64
|
end
|
59
65
|
|
@@ -70,11 +76,14 @@ module Pod
|
|
70
76
|
validator.only_subspec = @only_subspec
|
71
77
|
validator.use_frameworks = @use_frameworks
|
72
78
|
validator.use_modular_headers = @use_modular_headers
|
79
|
+
validator.use_static_frameworks = @use_static_frameworks
|
73
80
|
validator.ignore_public_only_results = @private
|
74
81
|
validator.swift_version = @swift_version
|
75
82
|
validator.skip_import_validation = @skip_import_validation
|
76
83
|
validator.skip_tests = @skip_tests
|
84
|
+
validator.test_specs = @test_specs
|
77
85
|
validator.analyze = @analyze
|
86
|
+
validator.configuration = @configuration
|
78
87
|
validator.validate
|
79
88
|
failure_reasons << validator.failure_reason
|
80
89
|
|
data/lib/cocoapods/command.rb
CHANGED
@@ -39,13 +39,13 @@ module Pod
|
|
39
39
|
|
40
40
|
def self.options
|
41
41
|
[
|
42
|
+
['--allow-root', 'Allows CocoaPods to run as root'],
|
42
43
|
['--silent', 'Show nothing'],
|
43
44
|
].concat(super)
|
44
45
|
end
|
45
46
|
|
46
47
|
def self.run(argv)
|
47
|
-
|
48
|
-
|
48
|
+
ensure_not_root_or_allowed! argv
|
49
49
|
verify_minimum_git_version!
|
50
50
|
verify_xcode_license_approved!
|
51
51
|
|
@@ -85,6 +85,7 @@ module Pod
|
|
85
85
|
def initialize(argv)
|
86
86
|
super
|
87
87
|
config.silent = argv.flag?('silent', config.silent)
|
88
|
+
config.allow_root = argv.flag?('allow-root', config.allow_root)
|
88
89
|
config.verbose = self.verbose? unless verbose.nil?
|
89
90
|
unless self.ansi_output?
|
90
91
|
Colored2.disable!
|
@@ -92,6 +93,15 @@ module Pod
|
|
92
93
|
end
|
93
94
|
end
|
94
95
|
|
96
|
+
# Ensure root user
|
97
|
+
#
|
98
|
+
# @return [void]
|
99
|
+
#
|
100
|
+
def self.ensure_not_root_or_allowed!(argv, uid = Process.uid, is_windows = Gem.win_platform?)
|
101
|
+
root_allowed = argv.include?('--allow-root') || !ENV['COCOAPODS_ALLOW_ROOT'].nil?
|
102
|
+
help! 'You cannot run CocoaPods as root.' unless root_allowed || uid != 0 || is_windows
|
103
|
+
end
|
104
|
+
|
95
105
|
# Ensure that the master spec repo exists
|
96
106
|
#
|
97
107
|
# @return [void]
|
data/lib/cocoapods/config.rb
CHANGED
@@ -60,6 +60,11 @@ module Pod
|
|
60
60
|
attr_accessor :silent
|
61
61
|
alias_method :silent?, :silent
|
62
62
|
|
63
|
+
# @return [Bool] Whether CocoaPods is allowed to run as root.
|
64
|
+
#
|
65
|
+
attr_accessor :allow_root
|
66
|
+
alias_method :allow_root?, :allow_root
|
67
|
+
|
63
68
|
# @return [Bool] Whether a message should be printed when a new version of
|
64
69
|
# CocoaPods is available.
|
65
70
|
#
|
@@ -314,6 +319,18 @@ module Pod
|
|
314
319
|
nil
|
315
320
|
end
|
316
321
|
|
322
|
+
# Excludes the given dir from Time Machine backups.
|
323
|
+
#
|
324
|
+
# @param [Pathname] dir
|
325
|
+
# The directory to exclude from Time Machine backups.
|
326
|
+
#
|
327
|
+
# @return [void]
|
328
|
+
#
|
329
|
+
def exclude_from_backup(dir)
|
330
|
+
return if Gem.win_platform?
|
331
|
+
system('tmutil', 'addexclusion', dir.to_s, %i(out err) => File::NULL)
|
332
|
+
end
|
333
|
+
|
317
334
|
public
|
318
335
|
|
319
336
|
#-------------------------------------------------------------------------#
|
@@ -97,7 +97,7 @@ module Pod
|
|
97
97
|
# `request`.
|
98
98
|
#
|
99
99
|
def path_for_pod(request, slug_opts = {})
|
100
|
-
root + request.slug(slug_opts)
|
100
|
+
root + request.slug(**slug_opts)
|
101
101
|
end
|
102
102
|
|
103
103
|
# @param [Request] request
|
@@ -111,7 +111,7 @@ module Pod
|
|
111
111
|
# `request`.
|
112
112
|
#
|
113
113
|
def path_for_spec(request, slug_opts = {})
|
114
|
-
path = root + 'Specs' + request.slug(slug_opts)
|
114
|
+
path = root + 'Specs' + request.slug(**slug_opts)
|
115
115
|
path.sub_ext('.podspec.json')
|
116
116
|
end
|
117
117
|
|
@@ -127,9 +127,17 @@ module Pod
|
|
127
127
|
# @return [void]
|
128
128
|
#
|
129
129
|
def self.add_xctest_search_paths(target)
|
130
|
+
requires_libs = target.platform_name == :ios &&
|
131
|
+
Version.new(target.deployment_target) < Version.new('12.2')
|
132
|
+
|
130
133
|
target.build_configurations.each do |configuration|
|
131
|
-
|
132
|
-
|
134
|
+
framework_search_paths = configuration.build_settings['FRAMEWORK_SEARCH_PATHS'] ||= '$(inherited)'
|
135
|
+
framework_search_paths << ' "$(PLATFORM_DIR)/Developer/Library/Frameworks"'
|
136
|
+
|
137
|
+
if requires_libs
|
138
|
+
library_search_paths = configuration.build_settings['LIBRARY_SEARCH_PATHS'] ||= '$(inherited)'
|
139
|
+
library_search_paths << ' "$(PLATFORM_DIR)/Developer/usr/lib"'
|
140
|
+
end
|
133
141
|
end
|
134
142
|
end
|
135
143
|
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Pod
|
2
|
+
module Generator
|
3
|
+
class CopydSYMsScript
|
4
|
+
# @return [Array<Pathname>] dsym_paths the dSYM paths to include in the script contents.
|
5
|
+
#
|
6
|
+
attr_reader :dsym_paths
|
7
|
+
|
8
|
+
# @return [Array<Pathname>] bcsymbolmap_paths the bcsymbolmap paths to include in the script contents.
|
9
|
+
#
|
10
|
+
attr_reader :bcsymbolmap_paths
|
11
|
+
|
12
|
+
# Initialize a new instance
|
13
|
+
#
|
14
|
+
# @param [Array<Pathname>] dsym_paths @see dsym_paths
|
15
|
+
# @param [Array<Pathname>] bcsymbolmap_paths @see bcsymbolmap_paths
|
16
|
+
#
|
17
|
+
def initialize(dsym_paths, bcsymbolmap_paths)
|
18
|
+
@dsym_paths = Array(dsym_paths)
|
19
|
+
@bcsymbolmap_paths = Array(bcsymbolmap_paths)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Saves the copy dSYMs script to the given pathname.
|
23
|
+
#
|
24
|
+
# @param [Pathname] pathname
|
25
|
+
# The path where the copy dSYMs script should be saved.
|
26
|
+
#
|
27
|
+
# @return [void]
|
28
|
+
#
|
29
|
+
def save_as(pathname)
|
30
|
+
pathname.open('w') do |file|
|
31
|
+
file.puts(generate)
|
32
|
+
end
|
33
|
+
File.chmod(0755, pathname.to_s)
|
34
|
+
end
|
35
|
+
|
36
|
+
# @return [String] The generated of the copy dSYMs script.
|
37
|
+
#
|
38
|
+
def generate
|
39
|
+
script = <<-SH.strip_heredoc
|
40
|
+
#{Pod::Generator::ScriptPhaseConstants::DEFAULT_SCRIPT_PHASE_HEADER}
|
41
|
+
#{Pod::Generator::ScriptPhaseConstants::STRIP_INVALID_ARCHITECTURES_METHOD}
|
42
|
+
#{Pod::Generator::ScriptPhaseConstants::RSYNC_PROTECT_TMP_FILES}
|
43
|
+
#{Pod::Generator::ScriptPhaseConstants::INSTALL_DSYM_METHOD}
|
44
|
+
#{Pod::Generator::ScriptPhaseConstants::INSTALL_BCSYMBOLMAP_METHOD}
|
45
|
+
SH
|
46
|
+
dsym_paths.each do |dsym_path|
|
47
|
+
script << %(install_dsym "#{dsym_path}"\n)
|
48
|
+
end
|
49
|
+
bcsymbolmap_paths.each do |bcsymbolmap_path|
|
50
|
+
script << %(install_bcsymbolmap "#{bcsymbolmap_path}"\n)
|
51
|
+
end
|
52
|
+
script
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|