cocoapods 1.0.0 → 1.1.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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +329 -0
  3. data/lib/cocoapods/command/init.rb +6 -6
  4. data/lib/cocoapods/command/ipc/list.rb +40 -0
  5. data/lib/cocoapods/command/ipc/podfile.rb +31 -0
  6. data/lib/cocoapods/command/ipc/repl.rb +51 -0
  7. data/lib/cocoapods/command/ipc/spec.rb +29 -0
  8. data/lib/cocoapods/command/ipc/update_search_index.rb +24 -0
  9. data/lib/cocoapods/command/ipc.rb +18 -0
  10. data/lib/cocoapods/command/lib/create.rb +105 -0
  11. data/lib/cocoapods/command/lib/lint.rb +111 -0
  12. data/lib/cocoapods/command/lib.rb +3 -207
  13. data/lib/cocoapods/command/repo/push.rb +44 -20
  14. data/lib/cocoapods/command/setup.rb +2 -1
  15. data/lib/cocoapods/command/spec/lint.rb +4 -0
  16. data/lib/cocoapods/command.rb +2 -1
  17. data/lib/cocoapods/config.rb +4 -1
  18. data/lib/cocoapods/downloader/cache.rb +1 -0
  19. data/lib/cocoapods/downloader.rb +20 -0
  20. data/lib/cocoapods/executable.rb +1 -1
  21. data/lib/cocoapods/gem_version.rb +1 -1
  22. data/lib/cocoapods/generator/acknowledgements/plist.rb +4 -1
  23. data/lib/cocoapods/generator/copy_resources_script.rb +4 -10
  24. data/lib/cocoapods/generator/header.rb +2 -1
  25. data/lib/cocoapods/generator/prefix_header.rb +0 -12
  26. data/lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb +38 -5
  27. data/lib/cocoapods/generator/xcconfig/xcconfig_helper.rb +5 -4
  28. data/lib/cocoapods/installer/analyzer/pod_variant_set.rb +5 -1
  29. data/lib/cocoapods/installer/analyzer/target_inspector.rb +24 -1
  30. data/lib/cocoapods/installer/analyzer.rb +161 -1
  31. data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +29 -9
  32. data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb +204 -0
  33. data/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb +314 -0
  34. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +401 -0
  35. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +214 -0
  36. data/lib/cocoapods/installer/xcode/pods_project_generator.rb +265 -0
  37. data/lib/cocoapods/installer/xcode.rb +7 -0
  38. data/lib/cocoapods/installer.rb +50 -214
  39. data/lib/cocoapods/resolver.rb +15 -9
  40. data/lib/cocoapods/sandbox/headers_store.rb +4 -10
  41. data/lib/cocoapods/sandbox/path_list.rb +20 -9
  42. data/lib/cocoapods/sources_manager.rb +7 -10
  43. data/lib/cocoapods/target/aggregate_target.rb +20 -0
  44. data/lib/cocoapods/target/pod_target.rb +37 -7
  45. data/lib/cocoapods/user_interface/error_report.rb +7 -0
  46. data/lib/cocoapods/user_interface/inspector_reporter.rb +109 -0
  47. data/lib/cocoapods/user_interface.rb +7 -5
  48. data/lib/cocoapods/validator.rb +59 -11
  49. metadata +112 -83
  50. data/lib/cocoapods/command/inter_process_communication.rb +0 -177
  51. data/lib/cocoapods/installer/file_references_installer.rb +0 -310
  52. data/lib/cocoapods/installer/migrator.rb +0 -86
  53. data/lib/cocoapods/installer/target_installer/aggregate_target_installer.rb +0 -191
  54. data/lib/cocoapods/installer/target_installer/pod_target_installer.rb +0 -368
  55. data/lib/cocoapods/installer/target_installer.rb +0 -210
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.0.0
4
+ version: 1.1.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: 2016-05-10 00:00:00.000000000 Z
14
+ date: 2016-10-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: cocoapods-core
@@ -19,318 +19,338 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 1.0.0
22
+ version: 1.1.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.0.0
29
+ version: 1.1.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: claide
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - '>='
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 1.0.0
37
- - - <
36
+ version: 1.0.1
37
+ - - "<"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '2.0'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - '>='
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 1.0.0
47
- - - <
46
+ version: 1.0.1
47
+ - - "<"
48
48
  - !ruby/object:Gem::Version
49
49
  version: '2.0'
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: cocoapods-deintegrate
52
52
  requirement: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - '>='
54
+ - - ">="
55
55
  - !ruby/object:Gem::Version
56
- version: 1.0.0
57
- - - <
56
+ version: 1.0.1
57
+ - - "<"
58
58
  - !ruby/object:Gem::Version
59
59
  version: '2.0'
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - '>='
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: 1.0.0
67
- - - <
66
+ version: 1.0.1
67
+ - - "<"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '2.0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: cocoapods-downloader
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: 1.0.0
77
- - - <
76
+ version: 1.1.2
77
+ - - "<"
78
78
  - !ruby/object:Gem::Version
79
79
  version: '2.0'
80
80
  type: :runtime
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
- - - '>='
84
+ - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: 1.0.0
87
- - - <
86
+ version: 1.1.2
87
+ - - "<"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '2.0'
90
90
  - !ruby/object:Gem::Dependency
91
91
  name: cocoapods-plugins
92
92
  requirement: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.0.0
97
- - - <
97
+ - - "<"
98
98
  - !ruby/object:Gem::Version
99
99
  version: '2.0'
100
100
  type: :runtime
101
101
  prerelease: false
102
102
  version_requirements: !ruby/object:Gem::Requirement
103
103
  requirements:
104
- - - '>='
104
+ - - ">="
105
105
  - !ruby/object:Gem::Version
106
106
  version: 1.0.0
107
- - - <
107
+ - - "<"
108
108
  - !ruby/object:Gem::Version
109
109
  version: '2.0'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: cocoapods-search
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - '>='
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
116
  version: 1.0.0
117
- - - <
117
+ - - "<"
118
118
  - !ruby/object:Gem::Version
119
119
  version: '2.0'
120
120
  type: :runtime
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - '>='
124
+ - - ">="
125
125
  - !ruby/object:Gem::Version
126
126
  version: 1.0.0
127
- - - <
127
+ - - "<"
128
128
  - !ruby/object:Gem::Version
129
129
  version: '2.0'
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: cocoapods-stats
132
132
  requirement: !ruby/object:Gem::Requirement
133
133
  requirements:
134
- - - '>='
134
+ - - ">="
135
135
  - !ruby/object:Gem::Version
136
136
  version: 1.0.0
137
- - - <
137
+ - - "<"
138
138
  - !ruby/object:Gem::Version
139
139
  version: '2.0'
140
140
  type: :runtime
141
141
  prerelease: false
142
142
  version_requirements: !ruby/object:Gem::Requirement
143
143
  requirements:
144
- - - '>='
144
+ - - ">="
145
145
  - !ruby/object:Gem::Version
146
146
  version: 1.0.0
147
- - - <
147
+ - - "<"
148
148
  - !ruby/object:Gem::Version
149
149
  version: '2.0'
150
150
  - !ruby/object:Gem::Dependency
151
151
  name: cocoapods-trunk
152
152
  requirement: !ruby/object:Gem::Requirement
153
153
  requirements:
154
- - - '>='
154
+ - - ">="
155
155
  - !ruby/object:Gem::Version
156
- version: 1.0.0
157
- - - <
156
+ version: 1.1.0
157
+ - - "<"
158
158
  - !ruby/object:Gem::Version
159
159
  version: '2.0'
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
- version: 1.0.0
167
- - - <
166
+ version: 1.1.0
167
+ - - "<"
168
168
  - !ruby/object:Gem::Version
169
169
  version: '2.0'
170
170
  - !ruby/object:Gem::Dependency
171
171
  name: cocoapods-try
172
172
  requirement: !ruby/object:Gem::Requirement
173
173
  requirements:
174
- - - '>='
174
+ - - ">="
175
175
  - !ruby/object:Gem::Version
176
- version: 1.0.0
177
- - - <
176
+ version: 1.1.0
177
+ - - "<"
178
178
  - !ruby/object:Gem::Version
179
179
  version: '2.0'
180
180
  type: :runtime
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - '>='
184
+ - - ">="
185
185
  - !ruby/object:Gem::Version
186
- version: 1.0.0
187
- - - <
186
+ version: 1.1.0
187
+ - - "<"
188
188
  - !ruby/object:Gem::Version
189
189
  version: '2.0'
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: molinillo
192
192
  requirement: !ruby/object:Gem::Requirement
193
193
  requirements:
194
- - - ~>
194
+ - - "~>"
195
195
  - !ruby/object:Gem::Version
196
- version: 0.4.5
196
+ version: 0.5.1
197
197
  type: :runtime
198
198
  prerelease: false
199
199
  version_requirements: !ruby/object:Gem::Requirement
200
200
  requirements:
201
- - - ~>
201
+ - - "~>"
202
202
  - !ruby/object:Gem::Version
203
- version: 0.4.5
203
+ version: 0.5.1
204
204
  - !ruby/object:Gem::Dependency
205
205
  name: xcodeproj
206
206
  requirement: !ruby/object:Gem::Requirement
207
207
  requirements:
208
- - - '>='
208
+ - - ">="
209
209
  - !ruby/object:Gem::Version
210
- version: 1.0.0
211
- - - <
210
+ version: 1.3.2
211
+ - - "<"
212
212
  - !ruby/object:Gem::Version
213
213
  version: '2.0'
214
214
  type: :runtime
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - '>='
218
+ - - ">="
219
219
  - !ruby/object:Gem::Version
220
- version: 1.0.0
221
- - - <
220
+ version: 1.3.2
221
+ - - "<"
222
222
  - !ruby/object:Gem::Version
223
223
  version: '2.0'
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: activesupport
226
226
  requirement: !ruby/object:Gem::Requirement
227
227
  requirements:
228
- - - '>='
228
+ - - ">="
229
229
  - !ruby/object:Gem::Version
230
230
  version: 4.0.2
231
+ - - "<"
232
+ - !ruby/object:Gem::Version
233
+ version: '5'
231
234
  type: :runtime
232
235
  prerelease: false
233
236
  version_requirements: !ruby/object:Gem::Requirement
234
237
  requirements:
235
- - - '>='
238
+ - - ">="
236
239
  - !ruby/object:Gem::Version
237
240
  version: 4.0.2
241
+ - - "<"
242
+ - !ruby/object:Gem::Version
243
+ version: '5'
238
244
  - !ruby/object:Gem::Dependency
239
245
  name: colored
240
246
  requirement: !ruby/object:Gem::Requirement
241
247
  requirements:
242
- - - ~>
248
+ - - "~>"
243
249
  - !ruby/object:Gem::Version
244
250
  version: '1.2'
245
251
  type: :runtime
246
252
  prerelease: false
247
253
  version_requirements: !ruby/object:Gem::Requirement
248
254
  requirements:
249
- - - ~>
255
+ - - "~>"
250
256
  - !ruby/object:Gem::Version
251
257
  version: '1.2'
252
258
  - !ruby/object:Gem::Dependency
253
259
  name: escape
254
260
  requirement: !ruby/object:Gem::Requirement
255
261
  requirements:
256
- - - ~>
262
+ - - "~>"
257
263
  - !ruby/object:Gem::Version
258
264
  version: 0.0.4
259
265
  type: :runtime
260
266
  prerelease: false
261
267
  version_requirements: !ruby/object:Gem::Requirement
262
268
  requirements:
263
- - - ~>
269
+ - - "~>"
264
270
  - !ruby/object:Gem::Version
265
271
  version: 0.0.4
266
272
  - !ruby/object:Gem::Dependency
267
273
  name: fourflusher
268
274
  requirement: !ruby/object:Gem::Requirement
269
275
  requirements:
270
- - - ~>
276
+ - - "~>"
271
277
  - !ruby/object:Gem::Version
272
- version: 0.3.0
278
+ version: 2.0.1
273
279
  type: :runtime
274
280
  prerelease: false
275
281
  version_requirements: !ruby/object:Gem::Requirement
276
282
  requirements:
277
- - - ~>
283
+ - - "~>"
278
284
  - !ruby/object:Gem::Version
279
- version: 0.3.0
285
+ version: 2.0.1
286
+ - !ruby/object:Gem::Dependency
287
+ name: gh_inspector
288
+ requirement: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: '1.0'
293
+ type: :runtime
294
+ prerelease: false
295
+ version_requirements: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '1.0'
280
300
  - !ruby/object:Gem::Dependency
281
301
  name: nap
282
302
  requirement: !ruby/object:Gem::Requirement
283
303
  requirements:
284
- - - ~>
304
+ - - "~>"
285
305
  - !ruby/object:Gem::Version
286
306
  version: '1.0'
287
307
  type: :runtime
288
308
  prerelease: false
289
309
  version_requirements: !ruby/object:Gem::Requirement
290
310
  requirements:
291
- - - ~>
311
+ - - "~>"
292
312
  - !ruby/object:Gem::Version
293
313
  version: '1.0'
294
314
  - !ruby/object:Gem::Dependency
295
315
  name: bacon
296
316
  requirement: !ruby/object:Gem::Requirement
297
317
  requirements:
298
- - - ~>
318
+ - - "~>"
299
319
  - !ruby/object:Gem::Version
300
320
  version: '1.1'
301
321
  type: :development
302
322
  prerelease: false
303
323
  version_requirements: !ruby/object:Gem::Requirement
304
324
  requirements:
305
- - - ~>
325
+ - - "~>"
306
326
  - !ruby/object:Gem::Version
307
327
  version: '1.1'
308
328
  - !ruby/object:Gem::Dependency
309
329
  name: bundler
310
330
  requirement: !ruby/object:Gem::Requirement
311
331
  requirements:
312
- - - ~>
332
+ - - "~>"
313
333
  - !ruby/object:Gem::Version
314
334
  version: '1.3'
315
335
  type: :development
316
336
  prerelease: false
317
337
  version_requirements: !ruby/object:Gem::Requirement
318
338
  requirements:
319
- - - ~>
339
+ - - "~>"
320
340
  - !ruby/object:Gem::Version
321
341
  version: '1.3'
322
342
  - !ruby/object:Gem::Dependency
323
343
  name: rake
324
344
  requirement: !ruby/object:Gem::Requirement
325
345
  requirements:
326
- - - ~>
346
+ - - "~>"
327
347
  - !ruby/object:Gem::Version
328
348
  version: '10.0'
329
349
  type: :development
330
350
  prerelease: false
331
351
  version_requirements: !ruby/object:Gem::Requirement
332
352
  requirements:
333
- - - ~>
353
+ - - "~>"
334
354
  - !ruby/object:Gem::Version
335
355
  version: '10.0'
336
356
  description: |-
@@ -363,8 +383,15 @@ files:
363
383
  - lib/cocoapods/command/env.rb
364
384
  - lib/cocoapods/command/init.rb
365
385
  - lib/cocoapods/command/install.rb
366
- - lib/cocoapods/command/inter_process_communication.rb
386
+ - lib/cocoapods/command/ipc.rb
387
+ - lib/cocoapods/command/ipc/list.rb
388
+ - lib/cocoapods/command/ipc/podfile.rb
389
+ - lib/cocoapods/command/ipc/repl.rb
390
+ - lib/cocoapods/command/ipc/spec.rb
391
+ - lib/cocoapods/command/ipc/update_search_index.rb
367
392
  - lib/cocoapods/command/lib.rb
393
+ - lib/cocoapods/command/lib/create.rb
394
+ - lib/cocoapods/command/lib/lint.rb
368
395
  - lib/cocoapods/command/list.rb
369
396
  - lib/cocoapods/command/options/project_directory.rb
370
397
  - lib/cocoapods/command/options/repo_update.rb
@@ -425,21 +452,22 @@ files:
425
452
  - lib/cocoapods/installer/analyzer/specs_state.rb
426
453
  - lib/cocoapods/installer/analyzer/target_inspection_result.rb
427
454
  - lib/cocoapods/installer/analyzer/target_inspector.rb
428
- - lib/cocoapods/installer/file_references_installer.rb
429
455
  - lib/cocoapods/installer/installation_options.rb
430
- - lib/cocoapods/installer/migrator.rb
431
456
  - lib/cocoapods/installer/pod_source_installer.rb
432
457
  - lib/cocoapods/installer/pod_source_preparer.rb
433
458
  - lib/cocoapods/installer/podfile_validator.rb
434
459
  - lib/cocoapods/installer/post_install_hooks_context.rb
435
460
  - lib/cocoapods/installer/pre_install_hooks_context.rb
436
461
  - lib/cocoapods/installer/source_provider_hooks_context.rb
437
- - lib/cocoapods/installer/target_installer.rb
438
- - lib/cocoapods/installer/target_installer/aggregate_target_installer.rb
439
- - lib/cocoapods/installer/target_installer/pod_target_installer.rb
440
462
  - lib/cocoapods/installer/user_project_integrator.rb
441
463
  - lib/cocoapods/installer/user_project_integrator/target_integrator.rb
442
464
  - lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb
465
+ - lib/cocoapods/installer/xcode.rb
466
+ - lib/cocoapods/installer/xcode/pods_project_generator.rb
467
+ - lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_installer.rb
468
+ - lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb
469
+ - lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb
470
+ - lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb
443
471
  - lib/cocoapods/open-uri.rb
444
472
  - lib/cocoapods/project.rb
445
473
  - lib/cocoapods/resolver.rb
@@ -456,6 +484,7 @@ files:
456
484
  - lib/cocoapods/target/pod_target.rb
457
485
  - lib/cocoapods/user_interface.rb
458
486
  - lib/cocoapods/user_interface/error_report.rb
487
+ - lib/cocoapods/user_interface/inspector_reporter.rb
459
488
  - lib/cocoapods/validator.rb
460
489
  homepage: https://github.com/CocoaPods/CocoaPods
461
490
  licenses:
@@ -467,17 +496,17 @@ require_paths:
467
496
  - lib
468
497
  required_ruby_version: !ruby/object:Gem::Requirement
469
498
  requirements:
470
- - - '>='
499
+ - - ">="
471
500
  - !ruby/object:Gem::Version
472
501
  version: 2.0.0
473
502
  required_rubygems_version: !ruby/object:Gem::Requirement
474
503
  requirements:
475
- - - '>='
504
+ - - ">="
476
505
  - !ruby/object:Gem::Version
477
506
  version: '0'
478
507
  requirements: []
479
508
  rubyforge_project:
480
- rubygems_version: 2.6.3
509
+ rubygems_version: 2.4.5.1
481
510
  signing_key:
482
511
  specification_version: 3
483
512
  summary: The Cocoa library package manager.
@@ -1,177 +0,0 @@
1
- module Pod
2
- class Command
3
- class IPC < Command
4
- self.abstract_command = true
5
- self.summary = 'Inter-process communication'
6
-
7
- def output_pipe
8
- STDOUT
9
- end
10
-
11
- #-----------------------------------------------------------------------#
12
-
13
- class Spec < IPC
14
- self.summary = 'Converts a podspec to JSON'
15
- self.description = 'Converts a podspec to JSON and prints it to STDOUT.'
16
- self.arguments = [
17
- CLAide::Argument.new('PATH', true),
18
- ]
19
-
20
- def initialize(argv)
21
- @path = argv.shift_argument
22
- super
23
- end
24
-
25
- def validate!
26
- super
27
- help! 'A specification path is required.' unless @path
28
- end
29
-
30
- def run
31
- require 'json'
32
- spec = Specification.from_file(@path)
33
- output_pipe.puts(spec.to_pretty_json)
34
- end
35
- end
36
-
37
- #-----------------------------------------------------------------------#
38
-
39
- class Podfile < IPC
40
- include ProjectDirectory
41
-
42
- self.summary = 'Converts a Podfile to YAML'
43
- self.description = 'Converts a Podfile to YAML and prints it to STDOUT.'
44
- self.arguments = [
45
- CLAide::Argument.new('PATH', true),
46
- ]
47
-
48
- def initialize(argv)
49
- @path = argv.shift_argument
50
- super
51
- end
52
-
53
- def validate!
54
- super
55
- help! 'A Podfile path is required.' unless @path
56
- end
57
-
58
- def run
59
- require 'yaml'
60
- podfile = Pod::Podfile.from_file(@path)
61
- output_pipe.puts podfile.to_yaml
62
- end
63
- end
64
-
65
- #-----------------------------------------------------------------------#
66
-
67
- class List < IPC
68
- self.summary = 'Lists the specifications known to CocoaPods'
69
- self.description = <<-DESC
70
- Prints to STDOUT a YAML dictionary where the keys are the name of the
71
- specifications and each corresponding value is a dictionary with
72
- the following keys:
73
-
74
- - defined_in_file
75
- - version
76
- - authors
77
- - summary
78
- - description
79
- - platforms
80
- DESC
81
-
82
- def run
83
- require 'yaml'
84
- sets = config.sources_manager.aggregate.all_sets
85
- result = {}
86
- sets.each do |set|
87
- begin
88
- spec = set.specification
89
- result[spec.name] = {
90
- 'authors' => spec.authors.keys,
91
- 'summary' => spec.summary,
92
- 'description' => spec.description,
93
- 'platforms' => spec.available_platforms.map { |p| p.name.to_s },
94
- }
95
- rescue DSLError
96
- next
97
- end
98
- end
99
- output_pipe.puts result.to_yaml
100
- end
101
- end
102
-
103
- #-----------------------------------------------------------------------#
104
-
105
- class UpdateSearchIndex < IPC
106
- self.summary = 'Updates the search index'
107
- self.description = <<-DESC
108
- Updates the search index and prints its path to standard output.
109
- The search index is a YAML encoded dictionary where the keys
110
- are the names of the Pods and the values are a dictionary containing
111
- the following information:
112
-
113
- - version
114
- - summary
115
- - description
116
- - authors
117
- DESC
118
-
119
- def run
120
- config.sources_manager.updated_search_index
121
- output_pipe.puts(config.sources_manager.search_index_path)
122
- end
123
- end
124
-
125
- #-----------------------------------------------------------------------#
126
-
127
- class Repl < IPC
128
- include ProjectDirectory
129
-
130
- END_OF_OUTPUT_SIGNAL = "\n\r"
131
-
132
- self.summary = 'The repl listens to commands on standard input'
133
- self.description = <<-DESC
134
- The repl listens to commands on standard input and prints their
135
- result to standard output.
136
-
137
- It accepts all the other ipc subcommands. The repl will signal the
138
- end of output with the the ASCII CR+LF `\\n\\r`.
139
- DESC
140
-
141
- def run
142
- print_version
143
- signal_end_of_output
144
- listen
145
- end
146
-
147
- def print_version
148
- output_pipe.puts "version: '#{Pod::VERSION}'"
149
- end
150
-
151
- def signal_end_of_output
152
- output_pipe.puts(END_OF_OUTPUT_SIGNAL)
153
- STDOUT.flush
154
- end
155
-
156
- def listen
157
- while repl_command = STDIN.gets
158
- execute_repl_command(repl_command)
159
- end
160
- end
161
-
162
- def execute_repl_command(repl_command)
163
- if (repl_command != "\n")
164
- repl_commands = repl_command.split
165
- subcommand = repl_commands.shift.capitalize
166
- arguments = repl_commands
167
- subcommand_class = Pod::Command::IPC.const_get(subcommand)
168
- subcommand_class.new(CLAide::ARGV.new(arguments)).run
169
- signal_end_of_output
170
- end
171
- end
172
- end
173
-
174
- #-----------------------------------------------------------------------#
175
- end
176
- end
177
- end