cocoapods 1.10.0 → 1.11.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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +261 -5
  3. data/README.md +11 -11
  4. data/lib/cocoapods/command/outdated.rb +12 -1
  5. data/lib/cocoapods/command/repo/push.rb +17 -0
  6. data/lib/cocoapods/command/spec/cat.rb +3 -1
  7. data/lib/cocoapods/command/spec/lint.rb +1 -1
  8. data/lib/cocoapods/command/spec/which.rb +3 -1
  9. data/lib/cocoapods/command/spec.rb +18 -9
  10. data/lib/cocoapods/config.rb +1 -1
  11. data/lib/cocoapods/downloader/cache.rb +95 -6
  12. data/lib/cocoapods/downloader.rb +4 -2
  13. data/lib/cocoapods/external_sources/podspec_source.rb +1 -1
  14. data/lib/cocoapods/gem_version.rb +1 -1
  15. data/lib/cocoapods/generator/acknowledgements.rb +1 -1
  16. data/lib/cocoapods/generator/app_target_helper.rb +7 -3
  17. data/lib/cocoapods/generator/copy_dsyms_script.rb +4 -4
  18. data/lib/cocoapods/generator/copy_xcframework_script.rb +4 -48
  19. data/lib/cocoapods/generator/embed_frameworks_script.rb +2 -1
  20. data/lib/cocoapods/generator/script_phase_constants.rb +1 -0
  21. data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +31 -4
  22. data/lib/cocoapods/installer/analyzer.rb +12 -8
  23. data/lib/cocoapods/installer/podfile_validator.rb +2 -2
  24. data/lib/cocoapods/installer/pre_integrate_hooks_context.rb +9 -0
  25. data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +9 -2
  26. data/lib/cocoapods/installer/project_cache/project_installation_cache.rb +15 -2
  27. data/lib/cocoapods/installer/project_cache/target_cache_key.rb +7 -4
  28. data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +149 -9
  29. data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +10 -3
  30. data/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb +25 -6
  31. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +6 -19
  32. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +70 -58
  33. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +48 -6
  34. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +2 -2
  35. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +2 -5
  36. data/lib/cocoapods/installer/xcode/pods_project_generator.rb +1 -1
  37. data/lib/cocoapods/installer.rb +52 -4
  38. data/lib/cocoapods/resolver.rb +4 -4
  39. data/lib/cocoapods/sandbox/file_accessor.rb +57 -10
  40. data/lib/cocoapods/sandbox/headers_store.rb +3 -1
  41. data/lib/cocoapods/sandbox/path_list.rb +1 -1
  42. data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +1 -1
  43. data/lib/cocoapods/sources_manager.rb +14 -8
  44. data/lib/cocoapods/target/aggregate_target.rb +23 -1
  45. data/lib/cocoapods/target/build_settings.rb +45 -20
  46. data/lib/cocoapods/target/pod_target.rb +47 -22
  47. data/lib/cocoapods/target.rb +1 -1
  48. data/lib/cocoapods/user_interface.rb +4 -0
  49. data/lib/cocoapods/validator.rb +25 -5
  50. data/lib/cocoapods/version_metadata.rb +1 -1
  51. data/lib/cocoapods/xcode/xcframework/xcframework_slice.rb +10 -1
  52. data/lib/cocoapods/xcode/xcframework.rb +8 -3
  53. metadata +26 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 18029602b0c6762ae9758040ac419c6f06d349a572369fa9bf0345cf765d08a1
4
- data.tar.gz: c7eb15f452ae34c5478ddb4e64a75bd3e61d2b0a607503dc9cafafd4e563d915
3
+ metadata.gz: 4e617acf0486b439b72d009eb2905d7b78853b6ff52d8bd0c9e303534ad978e5
4
+ data.tar.gz: ea674c9a2524f0ea96b413037afe634b72a53e8f5d8e0c44253e7ba559e5c19e
5
5
  SHA512:
6
- metadata.gz: 7be0a083dac27cc3267cd3d671b83dad1a897c6ef0cdb09bfa61cdfb6f791ac6ea5de13bbf674df3781221901b63fe2c97f1bbd6b8d378fad594c083eeec83a5
7
- data.tar.gz: 859cb8e68cf8918c7d99066aa49589a3b3bcfc47944b3154876328724dc5b854e5accc518092275a0b130996d1428c09d9f12b4e29a22b7f9628d4c11a0c315e
6
+ metadata.gz: 4c2a0a0a9a3d92658aa77309c41f51f0385d0d0556ab649fdfeed07996c8e7310c6adb2c09fcb6b3490c0ffe2e004df0a4c7ca8d1d15fe40a4adec40be923c96
7
+ data.tar.gz: d91ebdc6f396a6f04a13439362131247037e7c477ef207c37f3432b383a7552d8e21ab5ffd408c6c8307a77de61476dbd428ff8109bc2d0f3c0f28d1f9cd55c8
data/CHANGELOG.md CHANGED
@@ -4,6 +4,263 @@ To install or update CocoaPods see this [guide](https://guides.cocoapods.org/usi
4
4
 
5
5
  To install release candidates run `[sudo] gem install cocoapods --pre`
6
6
 
7
+ ## 1.11.0 (2021-09-01)
8
+
9
+ ##### Enhancements
10
+
11
+ * None.
12
+
13
+ ##### Bug Fixes
14
+
15
+ * None.
16
+
17
+
18
+ ## 1.11.0.rc.1 (2021-08-25)
19
+
20
+ ##### Enhancements
21
+
22
+ * None.
23
+
24
+ ##### Bug Fixes
25
+
26
+ * Correctly process multiple `xcframeworks` a pod provides.
27
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
28
+ [#10378](https://github.com/CocoaPods/CocoaPods/issues/10378)
29
+
30
+
31
+ ## 1.11.0.beta.2 (2021-08-11)
32
+
33
+ ##### Enhancements
34
+
35
+ * Integrate ODR categories into projects.
36
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
37
+ [#10855](https://github.com/CocoaPods/CocoaPods/pull/10855)
38
+
39
+ ##### Bug Fixes
40
+
41
+ * Pass correct paths for `select_slice` method.
42
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
43
+ [#10430](https://github.com/CocoaPods/CocoaPods/issues/10430)
44
+
45
+
46
+ ## 1.11.0.beta.1 (2021-08-09)
47
+
48
+ ##### Enhancements
49
+
50
+ * Add support for integrating on demand resources.
51
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
52
+ [JunyiXie](https://github.com/JunyiXie)
53
+ [#9606](https://github.com/CocoaPods/CocoaPods/issues/9606)
54
+ [#10845](https://github.com/CocoaPods/CocoaPods/pull/10845)
55
+
56
+ * Integrate `project_header_files` specified by specs.
57
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
58
+ [#9820](https://github.com/CocoaPods/CocoaPods/issues/9820)
59
+
60
+ * Mark RealityComposer-projects (`.rcproject`) files defined in resources for compilation.
61
+ [Hendrik von Prince](https://github.com/parallaxe)
62
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
63
+ [#10793](https://github.com/CocoaPods/CocoaPods/pull/10793)
64
+
65
+ * Integrate test specs and app specs of pre-built pods.
66
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
67
+ [#10795](https://github.com/CocoaPods/CocoaPods/pull/10795)
68
+
69
+ * Add support for `before_headers` and `after_headers` script phase DSL.
70
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
71
+ [#10770](https://github.com/CocoaPods/CocoaPods/issues/10770)
72
+
73
+ * Fix touch on a missing directory for dSYM copy phase script.
74
+ [alvarollmenezes](https://github.com/alvarollmenezes)
75
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
76
+ [#10488](https://github.com/CocoaPods/CocoaPods/issues/10488)
77
+
78
+ * Check the podfile sources and plugin sources when printing warnings without explicitly using the master source.
79
+ [gonghonglou](https://github.com/gonghonglou)
80
+ [#10764](https://github.com/CocoaPods/CocoaPods/pull/10764)
81
+
82
+ * Use relative paths in copy dsyms script.
83
+ [Mickey Knox](https://github.com/knox)
84
+ [#10583](https://github.com/CocoaPods/CocoaPods/pull/10583)
85
+
86
+ * Use `OpenURI.open_uri` instead.
87
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
88
+ [#10597](https://github.com/CocoaPods/CocoaPods/issues/10597)
89
+
90
+ * Set minimum supported Ruby version to 2.6.
91
+ [Igor Makarov](https://github.com/igor-makarov)
92
+ [#10412](https://github.com/CocoaPods/CocoaPods/pull/10412)
93
+
94
+ * Improve compatibility with ActiveSupport 6
95
+ [Jun Jiang](https://github.com/jasl)
96
+ [#10364](https://github.com/CocoaPods/CocoaPods/pull/10364)
97
+
98
+ * Add a `pre_integrate_hook` API
99
+ [dcvz](https://github.com/dcvz)
100
+ [#9935](https://github.com/CocoaPods/CocoaPods/pull/9935)
101
+
102
+ * Rewrite the only place dependent on `typhoeus`.
103
+ [Jun Jiang](https://github.com/jasl), [Igor Makarov](https://github.com/igor-makarov)
104
+ [#10346](https://github.com/CocoaPods/CocoaPods/pull/10346)
105
+
106
+ * Add a `--update-sources` option to `pod repo push` so one can ensure sources are up-to-date.
107
+ [Elton Gao](https://github.com/gyfelton)
108
+ [Justin Martin](https://github.com/justinseanmartin)
109
+
110
+ * Installing a local (`:path`) pod that defines script phases will no longer
111
+ produce warnings.
112
+ [Samuel Giddins](https://github.com/segiddins)
113
+
114
+ * Allow building app & test spec targets that depend on a library that uses
115
+ Swift without requiring an empty Swift file be present.
116
+ [Samuel Giddins](https://github.com/segiddins)
117
+
118
+ * Add flag to ignore prerelease versions when reporting latest version for outdated pods.
119
+ [cltnschlosser](https://github.com/cltnschlosser)
120
+ [#9916](https://github.com/CocoaPods/CocoaPods/pull/9916)
121
+
122
+ * Add possibility to skip modulemap generation
123
+ [till0xff](https://github.com/till0xff)
124
+ [#10235](https://github.com/CocoaPods/CocoaPods/issues/10235)
125
+
126
+ * Add a `--version` option to `pod spec cat` and `pod spec which` for listing the podspec of a specific version
127
+ [pietbrauer](https://github.com/pietbrauer)
128
+ [#10609](https://github.com/CocoaPods/CocoaPods/pull/10609)
129
+
130
+ ##### Bug Fixes
131
+
132
+ * Fix resource variant groups in static frameworks
133
+ [Igor Makarov](https://github.com/igor-makarov)
134
+ [#10834](https://github.com/CocoaPods/CocoaPods/pull/10834)
135
+ [#10605](https://github.com/CocoaPods/CocoaPods/issues/10605)
136
+
137
+ * Fix adding embed frameworks script phase to unit test targets if xcframeworks are present.
138
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
139
+ [#10652](https://github.com/CocoaPods/CocoaPods/issues/10652)
140
+
141
+ * Remove unused `install_xcframework_library` code.
142
+ [Gio Lodi](https://github.com/mokagio)
143
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
144
+ [#10831](https://github.com/CocoaPods/CocoaPods/pull/10831)
145
+
146
+ * Validate vendored library names after they have been expanded.
147
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
148
+ [#10832](https://github.com/CocoaPods/CocoaPods/pull/10832)
149
+
150
+ * Place frameworks from xcframeworks into a unique folder name to avoid duplicate outputs.
151
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
152
+ [#10106](https://github.com/CocoaPods/CocoaPods/issues/10106)
153
+
154
+ * Update pod in Pods folder when changing the pod from branch to version in Podfie.
155
+ [gonghonglou](https://github.com/gonghonglou)
156
+ [#10825](https://github.com/CocoaPods/CocoaPods/pull/10825)
157
+
158
+ * Bump addressable dependency to 2.8.
159
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
160
+ [#10802](https://github.com/CocoaPods/CocoaPods/issues/10802)
161
+
162
+ * Dedup bcsymbolmap paths found from multiple vendored frameworks.
163
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
164
+ [#10373](https://github.com/CocoaPods/CocoaPods/issues/10373)
165
+
166
+ * Correctly filter dependencies for pod variants across different platforms.
167
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
168
+ [#10777](https://github.com/CocoaPods/CocoaPods/issues/10777)
169
+
170
+ * Generate default `Info.plist` for consumer app during validation.
171
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
172
+ [#8570](https://github.com/CocoaPods/CocoaPods/issues/8570)
173
+
174
+ * Fix lint subspec error when the name of subspec start with the pod name.
175
+ [XianpuMeng](https://github.com/XianpuMeng)
176
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
177
+ [#9906](https://github.com/CocoaPods/CocoaPods/issues/9906)
178
+
179
+ * Update `ruby-macho` gem version to support 1.x and 2.x.
180
+ [Eric Chamberlain](https://github.com/PeqNP)
181
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
182
+ [#10390](https://github.com/CocoaPods/CocoaPods/issues/10390)
183
+
184
+ * Respect `--configuration` option when analyzing via `pod lib lint --analyze`.
185
+ [Jenn Magder](https://github.com/jmagman)
186
+ [#10476](https://github.com/CocoaPods/CocoaPods/issues/10476)
187
+
188
+ * Do not add dependencies to 'Link Binary With Libraries' phase.
189
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
190
+ [#10133](https://github.com/CocoaPods/CocoaPods/pull/10133)
191
+
192
+ * Ensure cache integrity on concurrent installations.
193
+ [Erik Blomqvist](https://github.com/codiophile)
194
+ [#10013](https://github.com/CocoaPods/CocoaPods/issues/10013)
195
+
196
+ * Force a clean install if installation options change.
197
+ [Sebastian Shanus](https://github.com/sebastianv1)
198
+ [#10016](https://github.com/CocoaPods/CocoaPods/pull/10016)
199
+
200
+ * Correctly detect that a prebuilt pod uses Swift.
201
+ [Elton Gao](https://github.com/gyfelton)
202
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
203
+ [#8649](https://github.com/CocoaPods/CocoaPods/issues/8649)
204
+
205
+ * fix: ensure cached spec path uniq
206
+ [SolaWing](https://github.com/SolaWing)
207
+ [#10231](https://github.com/CocoaPods/CocoaPods/issues/10231)
208
+
209
+ * Set `knownRegions` on generated projects with localized resources to prevent Xcode from re-saving projects to disk.
210
+ [Eric Amorde](https://github.com/amorde)
211
+ [#10290](https://github.com/CocoaPods/CocoaPods/pull/10290)
212
+
213
+ * Serialize schemes that do not need to be rewritten by Xcode.
214
+ [Samuel Giddins](https://github.com/segiddins)
215
+
216
+
217
+ ## 1.10.2 (2021-07-28)
218
+
219
+ ##### Enhancements
220
+
221
+ * None.
222
+
223
+ ##### Bug Fixes
224
+
225
+ * Fix errors when archiving a Catalyst app which depends on a pod which uses `header_mappings_dir`.
226
+ [Thomas Goyne](https://github.com/tgoyne)
227
+ [#10224](https://github.com/CocoaPods/CocoaPods/pull/10224)
228
+
229
+ * Fix missing `-ObjC` for static XCFrameworks - take 2
230
+ [Paul Beusterien](https://github.com/paulb777)
231
+ [#10459](https://github.com/CocoaPods/CocoaPods/issuess/10459)
232
+
233
+ * Change URL validation failure to a note
234
+ [Paul Beusterien](https://github.com/paulb777)
235
+ [#10291](https://github.com/CocoaPods/CocoaPods/issues/10291)
236
+
237
+
238
+ ## 1.10.1 (2021-01-07)
239
+
240
+ ##### Enhancements
241
+
242
+ * None.
243
+
244
+ ##### Bug Fixes
245
+
246
+ * Fix library name in LD `-l` flags for XCFrameworks containing libraries
247
+ [Wes Campaigne](https://github.com/Westacular)
248
+ [#10165](https://github.com/CocoaPods/CocoaPods/issues/10165)
249
+
250
+ * Fix file extension replacement for resource paths when using static frameworks.
251
+ [Dimitris Koutsogiorgas](https://github.com/dnkoutso)
252
+ [#10206](https://github.com/CocoaPods/CocoaPods/issues/10206)
253
+
254
+ * Fix processing of xcassets resources when pod target is static framework
255
+ [Federico Trimboli](https://github.com/fedetrim)
256
+ [#10175](https://github.com/CocoaPods/CocoaPods/pull/10175)
257
+ [#10170](https://github.com/CocoaPods/CocoaPods/issues/10170)
258
+
259
+ * Fix missing `-ObjC` for static XCFrameworks
260
+ [Paul Beusterien](https://github.com/paulb777)
261
+ [#10234](https://github.com/CocoaPods/CocoaPods/pull/10234)
262
+
263
+
7
264
  ## 1.10.0 (2020-10-20)
8
265
 
9
266
  ##### Enhancements
@@ -16,7 +273,7 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
16
273
  [Wes Campaigne](https://github.com/Westacular)
17
274
  [#10071](https://github.com/CocoaPods/CocoaPods/issues/10071)
18
275
 
19
- * Add support for automatically embeddeding XCFramework debug symbols for XCFrameworks generated with Xcode 12
276
+ * Add support for automatically embedding XCFramework debug symbols for XCFrameworks generated with Xcode 12
20
277
  [johntmcintosh](https://github.com/johntmcintosh)
21
278
  [#10111](https://github.com/CocoaPods/CocoaPods/issues/10111)
22
279
 
@@ -91,12 +348,11 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
91
348
  [Gereon Steffens](https://github.com/gereons)
92
349
  [#9686](https://github.com/CocoaPods/CocoaPods/issues/9686)
93
350
 
94
- * Add a post_integrate_hook API
351
+ * Add a `post_integrate_hook` API
95
352
  [lucasmpaim](https://github.com/lucasmpaim)
96
353
  [#7432](https://github.com/CocoaPods/CocoaPods/issues/7432)
97
354
 
98
- * Set the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting if integrating with
99
- a target that has the setting set to `YES` (directly or in an .xcconfig).
355
+ * Set the `BUILD_LIBRARY_FOR_DISTRIBUTION` build setting if integrating with a target that has the setting set to `YES`.
100
356
  [Juanjo López](https://github.com/juanjonol)
101
357
  [#9232](https://github.com/CocoaPods/CocoaPods/issues/9232)
102
358
 
@@ -104,7 +360,7 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
104
360
  [Paul Beusterien](https://github.com/paulb777)
105
361
  [#9392](https://github.com/CocoaPods/CocoaPods/pull/9392)
106
362
 
107
- * Add --use-static-frameworks lint option
363
+ * Add `--use-static-frameworks` lint option
108
364
  [Paul Beusterien](https://github.com/paulb777)
109
365
  [#9632](https://github.com/CocoaPods/CocoaPods/pull/9632)
110
366
 
data/README.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  ### CocoaPods: The Cocoa dependency manager
4
4
 
5
- [![Build Status](http://img.shields.io/travis/CocoaPods/CocoaPods/master.svg?style=flat)](https://travis-ci.org/CocoaPods/CocoaPods)
6
- [![Gem Version](http://img.shields.io/gem/v/cocoapods.svg?style=flat)](http://badge.fury.io/rb/cocoapods)
5
+ [![Build Status](https://img.shields.io/github/workflow/status/CocoaPods/CocoaPods/Specs)](https://github.com/CocoaPods/CocoaPods/actions)
6
+ [![Gem Version](https://img.shields.io/gem/v/cocoapods)](https://rubygems.org/gems/cocoapods)
7
7
  [![Maintainability](https://api.codeclimate.com/v1/badges/8f0fe544baf2ae1acc2b/maintainability)](https://codeclimate.com/github/CocoaPods/CocoaPods/maintainability)
8
8
  [![Test Coverage](https://api.codeclimate.com/v1/badges/8f0fe544baf2ae1acc2b/test_coverage)](https://codeclimate.com/github/CocoaPods/CocoaPods/test_coverage)
9
9
 
@@ -70,13 +70,13 @@ contributor [code of conduct](CODE_OF_CONDUCT.md).
70
70
 
71
71
  CocoaPods is composed of the following projects:
72
72
 
73
- | Status | Project | Description | Info |
74
- | :----- | :------ | :--- | :--- |
75
- | [![Build Status](http://img.shields.io/travis/CocoaPods/CocoaPods/master.svg?style=flat)](https://travis-ci.org/CocoaPods/CocoaPods) | [CocoaPods](https://github.com/CocoaPods/CocoaPods) | The CocoaPods command line tool. | [guides](https://guides.cocoapods.org)
76
- | [![Build Status](http://img.shields.io/travis/CocoaPods/Core/master.svg?style=flat)](https://travis-ci.org/CocoaPods/Core) | [CocoaPods Core](https://github.com/CocoaPods/Core) | Support for working with specifications and podfiles. | [docs](https://guides.cocoapods.org/contributing/components.html)
77
- | [![Build Status](http://img.shields.io/travis/CocoaPods/cocoapods-downloader/master.svg?style=flat)](https://travis-ci.org/CocoaPods/cocoapods-downloader) |[CocoaPods Downloader](https://github.com/CocoaPods/cocoapods-downloader) | Downloaders for various source types. | [docs](https://www.rubydoc.info/gems/cocoapods-downloader)
78
- | [![Build Status](http://img.shields.io/travis/CocoaPods/Xcodeproj/master.svg?style=flat)](https://travis-ci.org/CocoaPods/Xcodeproj) | [Xcodeproj](https://github.com/CocoaPods/Xcodeproj) | Create and modify Xcode projects from Ruby. | [docs](https://www.rubydoc.info/gems/xcodeproj)
79
- | [![Build Status](http://img.shields.io/travis/CocoaPods/CLAide/master.svg?style=flat)](https://travis-ci.org/CocoaPods/CLAide) | [CLAide](https://github.com/CocoaPods/CLAide) | A small command-line interface framework. | [docs](https://www.rubydoc.info/gems/claide)
80
- | [![Build Status](http://img.shields.io/travis/CocoaPods/Molinillo/master.svg?style=flat)](https://travis-ci.org/CocoaPods/Molinillo) | [Molinillo](https://github.com/CocoaPods/Molinillo) | A powerful generic dependency resolver. | [docs](https://www.rubydoc.info/gems/molinillo)
81
- | [![Build Status](http://img.shields.io/travis/CocoaPods/CocoaPods-app/master.svg?style=flat)](https://travis-ci.org/CocoaPods/CocoaPods-app) | [CocoaPods.app](https://github.com/CocoaPods/CocoaPods-app) | A full-featured and standalone installation of CocoaPods. | [info](https://cocoapods.org/app)
73
+ | Status | Project | Description | Info |
74
+ | :-------- | :------ | :--- | :--- |
75
+ | [![Build Status](https://img.shields.io/github/workflow/status/CocoaPods/CocoaPods/Specs)](https://github.com/CocoaPods/CocoaPods/actions) | [CocoaPods](https://github.com/CocoaPods/CocoaPods) | The CocoaPods command line tool. | [guides](https://guides.cocoapods.org)
76
+ | [![Build Status](https://img.shields.io/github/workflow/status/CocoaPods/Core/Specs)](https://github.com/CocoaPods/Core/actions) | [CocoaPods Core](https://github.com/CocoaPods/Core) | Support for working with specifications and podfiles. | [docs](https://guides.cocoapods.org/contributing/components.html)
77
+ | [![Build Status](https://img.shields.io/travis/CocoaPods/cocoapods-downloader/master.svg?style=flat)](https://travis-ci.org/CocoaPods/cocoapods-downloader) |[CocoaPods Downloader](https://github.com/CocoaPods/cocoapods-downloader) | Downloaders for various source types. | [docs](https://www.rubydoc.info/gems/cocoapods-downloader)
78
+ | [![Build Status](https://img.shields.io/travis/CocoaPods/Xcodeproj/master.svg?style=flat)](https://travis-ci.org/CocoaPods/Xcodeproj) | [Xcodeproj](https://github.com/CocoaPods/Xcodeproj) | Create and modify Xcode projects from Ruby. | [docs](https://www.rubydoc.info/gems/xcodeproj)
79
+ | [![Build Status](https://img.shields.io/travis/CocoaPods/CLAide/master.svg?style=flat)](https://travis-ci.org/CocoaPods/CLAide) | [CLAide](https://github.com/CocoaPods/CLAide) | A small command-line interface framework. | [docs](https://www.rubydoc.info/gems/claide)
80
+ | [![Build Status](https://img.shields.io/travis/CocoaPods/Molinillo/master.svg?style=flat)](https://travis-ci.org/CocoaPods/Molinillo) | [Molinillo](https://github.com/CocoaPods/Molinillo) | A powerful generic dependency resolver. | [docs](https://www.rubydoc.info/gems/molinillo)
81
+ | [![Build Status](https://img.shields.io/travis/CocoaPods/CocoaPods-app/master.svg?style=flat)](https://travis-ci.org/CocoaPods/CocoaPods-app) | [CocoaPods.app](https://github.com/CocoaPods/CocoaPods-app) | A full-featured and standalone installation of CocoaPods. | [info](https://cocoapods.org/app)
82
82
  | | [Master Repo ](https://github.com/CocoaPods/Specs) | Master repository of specifications. | [guides](https://guides.cocoapods.org/making/specs-and-specs-repo.html)
@@ -11,6 +11,17 @@ module Pod
11
11
  spec repos, not those from local/external sources.
12
12
  DESC
13
13
 
14
+ def self.options
15
+ [
16
+ ['--ignore-prerelease', "Don't consider prerelease versions to be updates"],
17
+ ].concat(super)
18
+ end
19
+
20
+ def initialize(argv)
21
+ @ignore_prerelease = argv.flag?('ignore-prerelease')
22
+ super
23
+ end
24
+
14
25
  # Run the command
15
26
  #
16
27
  def run
@@ -67,7 +78,7 @@ module Pod
67
78
  ensure_external_podspecs_present!
68
79
  spec_sets.map do |set|
69
80
  spec = set.specification
70
- source_version = set.versions.first
81
+ source_version = set.versions.find { |version| !@ignore_prerelease || !version.prerelease? }
71
82
  pod_name = spec.root.name
72
83
  lockfile_version = lockfile.version(pod_name)
73
84
  if source_version > lockfile_version
@@ -37,6 +37,7 @@ module Pod
37
37
  ['--swift-version=VERSION', 'The `SWIFT_VERSION` that should be used when linting the spec. ' \
38
38
  'This takes precedence over the Swift versions specified by the spec or a `.swift-version` file'],
39
39
  ['--no-overwrite', 'Disallow pushing that would overwrite an existing spec'],
40
+ ['--update-sources', 'Make sure sources are up-to-date before a push'],
40
41
  ].concat(super)
41
42
  end
42
43
 
@@ -46,6 +47,7 @@ module Pod
46
47
  @repo = argv.shift_argument
47
48
  @source = source_for_repo
48
49
  @source_urls = argv.option('sources', config.sources_manager.all.map(&:url).append(Pod::TrunkSource::TRUNK_REPO_URL).uniq.join(',')).split(',')
50
+ @update_sources = argv.flag?('update-sources')
49
51
  @podspec = argv.shift_argument
50
52
  @use_frameworks = !argv.flag?('use-libraries')
51
53
  @use_modular_headers = argv.flag?('use-modular-headers', false)
@@ -73,6 +75,7 @@ module Pod
73
75
  def run
74
76
  open_editor if @commit_message && @message.nil?
75
77
  check_if_push_allowed
78
+ update_sources if @update_sources
76
79
  validate_podspec_files
77
80
  check_repo_status
78
81
  update_repo
@@ -177,6 +180,20 @@ module Pod
177
180
  git!(%W(-C #{repo_dir} pull))
178
181
  end
179
182
 
183
+ # Update sources if present
184
+ #
185
+ # @return [void]
186
+ #
187
+ def update_sources
188
+ return if @source_urls.nil?
189
+ @source_urls.each do |source_url|
190
+ source = config.sources_manager.source_with_name_or_url(source_url)
191
+ dir = source.specs_dir
192
+ UI.puts "Updating a source at #{dir} for #{source}"
193
+ git!(%W(-C #{dir} pull))
194
+ end
195
+ end
196
+
180
197
  # Commits the podspecs to the source, which should be a git repo.
181
198
  #
182
199
  # @note The pre commit hook of the repo is skipped as the podspecs have
@@ -16,6 +16,7 @@ module Pod
16
16
  [
17
17
  ['--regex', 'Interpret the `QUERY` as a regular expression'],
18
18
  ['--show-all', 'Pick from all versions of the given podspec'],
19
+ ['--version', 'Print a specific version of the given podspec'],
19
20
  ].concat(super)
20
21
  end
21
22
 
@@ -24,6 +25,7 @@ module Pod
24
25
  @show_all = argv.flag?('show-all')
25
26
  @query = argv.shift_argument
26
27
  @query = @query.gsub('.podspec', '') unless @query.nil?
28
+ @version = argv.option('version')
27
29
  super
28
30
  end
29
31
 
@@ -40,7 +42,7 @@ module Pod
40
42
  index = UI.choose_from_array(specs, "Which spec would you like to print [1-#{specs.count}]? ")
41
43
  specs[index]
42
44
  else
43
- get_path_of_spec(query)
45
+ get_path_of_spec(query, @version)
44
46
  end
45
47
 
46
48
  UI.puts File.read(filepath)
@@ -122,7 +122,7 @@ module Pod
122
122
  output_path = podspecs_tmp_dir + File.basename(path)
123
123
  output_path.dirname.mkpath
124
124
  begin
125
- open(path) do |io|
125
+ OpenURI.open_uri(path) do |io|
126
126
  output_path.open('w') { |f| f << io.read }
127
127
  end
128
128
  rescue => e