cocoapods 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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