autoproj 2.7.1 → 2.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +31 -1
  3. data/autoproj.gemspec +2 -0
  4. data/bin/alocate +3 -5
  5. data/bin/alog +3 -3
  6. data/bin/amake +3 -4
  7. data/bin/aup +4 -3
  8. data/bin/autoproj +1 -6
  9. data/bin/autoproj_bootstrap +153 -47
  10. data/bin/autoproj_install +153 -47
  11. data/lib/autoproj/autobuild_extensions/dsl.rb +5 -0
  12. data/lib/autoproj/bash_completion.rb +26 -0
  13. data/lib/autoproj/cli/base.rb +4 -4
  14. data/lib/autoproj/cli/build.rb +2 -3
  15. data/lib/autoproj/cli/main.rb +52 -2
  16. data/lib/autoproj/cli/main_global.rb +39 -0
  17. data/lib/autoproj/cli/osdeps.rb +2 -1
  18. data/lib/autoproj/cli/update.rb +13 -1
  19. data/lib/autoproj/configuration.rb +14 -2
  20. data/lib/autoproj/environment.rb +48 -31
  21. data/lib/autoproj/ops/install.rb +153 -47
  22. data/lib/autoproj/shell_completion.rb +164 -0
  23. data/lib/autoproj/templates/helpers.bash.erb +79 -0
  24. data/lib/autoproj/templates/helpers.zsh.erb +38 -0
  25. data/lib/autoproj/templates/main.bash.erb +35 -0
  26. data/lib/autoproj/templates/main.zsh.erb +9 -0
  27. data/lib/autoproj/templates/subcommand.bash.erb +50 -0
  28. data/lib/autoproj/templates/subcommand.zsh.erb +51 -0
  29. data/lib/autoproj/version.rb +1 -1
  30. data/lib/autoproj/workspace.rb +97 -19
  31. data/lib/autoproj/zsh_completion.rb +43 -0
  32. data/shell/autoproj_bash +67 -0
  33. data/shell/autoproj_zsh +26 -0
  34. data/shell/completion/alocate_bash +68 -0
  35. data/shell/completion/alocate_zsh +22 -0
  36. data/shell/completion/alog_bash +61 -0
  37. data/shell/completion/alog_zsh +20 -0
  38. data/shell/completion/amake_bash +77 -0
  39. data/shell/completion/amake_zsh +27 -0
  40. data/shell/completion/aup_bash +89 -0
  41. data/shell/completion/aup_zsh +34 -0
  42. data/shell/completion/autoproj_bash +1556 -0
  43. data/shell/completion/autoproj_zsh +1005 -0
  44. metadata +51 -3
@@ -0,0 +1,1005 @@
1
+ #!/usr/bin/env zsh
2
+
3
+ _autoproj() {
4
+ __autoproj
5
+ }
6
+
7
+ __autoproj() {
8
+ readonly local DEPTH=2
9
+
10
+ case $CURRENT in
11
+ $DEPTH)
12
+ _arguments \
13
+ '*: :->subcommands'
14
+
15
+ case $state in
16
+ subcommands)
17
+ _values \
18
+ 'subcommand' \
19
+ 'help[Describe available commands or one specific command]' \
20
+ 'bootstrap[bootstraps a new autoproj installation. This is usually not called directly, but called from the autoproj_bootstrap standalone script]' \
21
+ 'envsh[update the environment files]' \
22
+ 'status[displays synchronization status between this workspace and the package(s) source]' \
23
+ 'doc[generate API documentation for packages that support it]' \
24
+ 'update[update packages]' \
25
+ 'build[build packages]' \
26
+ 'cache[create or update a cache directory that can be given to AUTOBUILD_CACHE_DIR]' \
27
+ 'clean[remove build byproducts for the given packages]' \
28
+ 'locate[return the path to the given package, or the path to the root if no packages are given on the command line]' \
29
+ 'reconfigure[pass through all configuration questions]' \
30
+ 'test[interface for running tests]' \
31
+ 'show[show informations about package(s)]' \
32
+ 'osdeps[install/update OS dependencies that are required by the given package (or for the whole installation if no packages are given]' \
33
+ 'versions[generate a version file for the given packages, or all packages if none are given]' \
34
+ 'log[shows the log of autoproj updates]' \
35
+ 'reset[resets packages to the state stored in the required version]' \
36
+ 'tag[save the package current versions as a tag, or lists the available tags if given no arguments.]' \
37
+ 'commit[save the package current versions as a new commit in the main build configuration]' \
38
+ 'switch-config[switches the main build configuration]' \
39
+ 'query[searches for packages matching a query string. With no query string, matches all packages.]' \
40
+ 'plugin[interface to manage autoproj plugins]' \
41
+ 'global[global management of the known workspaces]' \
42
+ 'manifest[select or displays the active manifest]' \
43
+ 'exec[runs a command, applying the workspace''s environment first]' \
44
+ 'which[resolves the full path to a command within the Autoproj workspace]' \
45
+ ;
46
+ ;;
47
+ esac
48
+ ;;
49
+ *)
50
+ case $words[$DEPTH] in
51
+ help)
52
+ __autoproj_help
53
+ ;;
54
+ bootstrap)
55
+ __autoproj_bootstrap
56
+ ;;
57
+ envsh)
58
+ __autoproj_envsh
59
+ ;;
60
+ status)
61
+ __autoproj_status
62
+ ;;
63
+ doc)
64
+ __autoproj_doc
65
+ ;;
66
+ update)
67
+ __autoproj_update
68
+ ;;
69
+ build)
70
+ __autoproj_build
71
+ ;;
72
+ cache)
73
+ __autoproj_cache
74
+ ;;
75
+ clean)
76
+ __autoproj_clean
77
+ ;;
78
+ locate)
79
+ __autoproj_locate
80
+ ;;
81
+ reconfigure)
82
+ __autoproj_reconfigure
83
+ ;;
84
+ test)
85
+ __autoproj_test
86
+ ;;
87
+ show)
88
+ __autoproj_show
89
+ ;;
90
+ osdeps)
91
+ __autoproj_osdeps
92
+ ;;
93
+ versions)
94
+ __autoproj_versions
95
+ ;;
96
+ log)
97
+ __autoproj_log
98
+ ;;
99
+ reset)
100
+ __autoproj_reset
101
+ ;;
102
+ tag)
103
+ __autoproj_tag
104
+ ;;
105
+ commit)
106
+ __autoproj_commit
107
+ ;;
108
+ switch-config)
109
+ __autoproj_switch-config
110
+ ;;
111
+ query)
112
+ __autoproj_query
113
+ ;;
114
+ plugin)
115
+ __autoproj_plugin
116
+ ;;
117
+ global)
118
+ __autoproj_global
119
+ ;;
120
+ manifest)
121
+ __autoproj_manifest
122
+ ;;
123
+ exec)
124
+ __autoproj_exec
125
+ ;;
126
+ which)
127
+ __autoproj_which
128
+ ;;
129
+ esac
130
+ ;;
131
+ esac
132
+ }
133
+
134
+
135
+ __autoproj_help() {
136
+ readonly local DEPTH=3
137
+
138
+ case $CURRENT in
139
+ $DEPTH)
140
+ _arguments \
141
+ '*: :->subcommands'
142
+
143
+ case $state in
144
+ subcommands)
145
+ _values \
146
+ 'subcommand' \
147
+ 'bootstrap[bootstraps a new autoproj installation. This is usually not called directly, but called from the autoproj_bootstrap standalone script]' \
148
+ 'envsh[update the environment files]' \
149
+ 'status[displays synchronization status between this workspace and the package(s) source]' \
150
+ 'doc[generate API documentation for packages that support it]' \
151
+ 'update[update packages]' \
152
+ 'build[build packages]' \
153
+ 'cache[create or update a cache directory that can be given to AUTOBUILD_CACHE_DIR]' \
154
+ 'clean[remove build byproducts for the given packages]' \
155
+ 'locate[return the path to the given package, or the path to the root if no packages are given on the command line]' \
156
+ 'reconfigure[pass through all configuration questions]' \
157
+ 'test[interface for running tests]' \
158
+ 'show[show informations about package(s)]' \
159
+ 'osdeps[install/update OS dependencies that are required by the given package (or for the whole installation if no packages are given]' \
160
+ 'versions[generate a version file for the given packages, or all packages if none are given]' \
161
+ 'log[shows the log of autoproj updates]' \
162
+ 'reset[resets packages to the state stored in the required version]' \
163
+ 'tag[save the package current versions as a tag, or lists the available tags if given no arguments.]' \
164
+ 'commit[save the package current versions as a new commit in the main build configuration]' \
165
+ 'switch-config[switches the main build configuration]' \
166
+ 'query[searches for packages matching a query string. With no query string, matches all packages.]' \
167
+ 'plugin[interface to manage autoproj plugins]' \
168
+ 'global[global management of the known workspaces]' \
169
+ 'manifest[select or displays the active manifest]' \
170
+ 'exec[runs a command, applying the workspace''s environment first]' \
171
+ 'which[resolves the full path to a command within the Autoproj workspace]' \
172
+ ;
173
+ ;;
174
+ esac
175
+ ;;
176
+ *)
177
+ case $words[$DEPTH] in
178
+ bootstrap)
179
+ __autoproj_help_bootstrap
180
+ ;;
181
+ envsh)
182
+ __autoproj_help_envsh
183
+ ;;
184
+ status)
185
+ __autoproj_help_status
186
+ ;;
187
+ doc)
188
+ __autoproj_help_doc
189
+ ;;
190
+ update)
191
+ __autoproj_help_update
192
+ ;;
193
+ build)
194
+ __autoproj_help_build
195
+ ;;
196
+ cache)
197
+ __autoproj_help_cache
198
+ ;;
199
+ clean)
200
+ __autoproj_help_clean
201
+ ;;
202
+ locate)
203
+ __autoproj_help_locate
204
+ ;;
205
+ reconfigure)
206
+ __autoproj_help_reconfigure
207
+ ;;
208
+ test)
209
+ __autoproj_help_test
210
+ ;;
211
+ show)
212
+ __autoproj_help_show
213
+ ;;
214
+ osdeps)
215
+ __autoproj_help_osdeps
216
+ ;;
217
+ versions)
218
+ __autoproj_help_versions
219
+ ;;
220
+ log)
221
+ __autoproj_help_log
222
+ ;;
223
+ reset)
224
+ __autoproj_help_reset
225
+ ;;
226
+ tag)
227
+ __autoproj_help_tag
228
+ ;;
229
+ commit)
230
+ __autoproj_help_commit
231
+ ;;
232
+ switch-config)
233
+ __autoproj_help_switch-config
234
+ ;;
235
+ query)
236
+ __autoproj_help_query
237
+ ;;
238
+ plugin)
239
+ __autoproj_help_plugin
240
+ ;;
241
+ global)
242
+ __autoproj_help_global
243
+ ;;
244
+ manifest)
245
+ __autoproj_help_manifest
246
+ ;;
247
+ exec)
248
+ __autoproj_help_exec
249
+ ;;
250
+ which)
251
+ __autoproj_help_which
252
+ ;;
253
+ esac
254
+ ;;
255
+ esac
256
+ }
257
+
258
+
259
+ __autoproj_help_bootstrap() {
260
+ _arguments \
261
+ '*:arg:'
262
+ }
263
+
264
+ __autoproj_help_envsh() {
265
+ _arguments \
266
+ '*:arg:'
267
+ }
268
+
269
+ __autoproj_help_status() {
270
+ _arguments \
271
+ '*:arg:'
272
+ }
273
+
274
+ __autoproj_help_doc() {
275
+ _arguments \
276
+ '*:arg:'
277
+ }
278
+
279
+ __autoproj_help_update() {
280
+ _arguments \
281
+ '*:arg:'
282
+ }
283
+
284
+ __autoproj_help_build() {
285
+ _arguments \
286
+ '*:arg:'
287
+ }
288
+
289
+ __autoproj_help_cache() {
290
+ _arguments \
291
+ '*:arg:'
292
+ }
293
+
294
+ __autoproj_help_clean() {
295
+ _arguments \
296
+ '*:arg:'
297
+ }
298
+
299
+ __autoproj_help_locate() {
300
+ _arguments \
301
+ '*:arg:'
302
+ }
303
+
304
+ __autoproj_help_reconfigure() {
305
+ _arguments \
306
+ '*:arg:'
307
+ }
308
+
309
+ __autoproj_help_test() {
310
+ _arguments \
311
+ '*:arg:'
312
+ }
313
+
314
+ __autoproj_help_show() {
315
+ _arguments \
316
+ '*:arg:'
317
+ }
318
+
319
+ __autoproj_help_osdeps() {
320
+ _arguments \
321
+ '*:arg:'
322
+ }
323
+
324
+ __autoproj_help_versions() {
325
+ _arguments \
326
+ '*:arg:'
327
+ }
328
+
329
+ __autoproj_help_log() {
330
+ _arguments \
331
+ '*:arg:'
332
+ }
333
+
334
+ __autoproj_help_reset() {
335
+ _arguments \
336
+ '*:arg:'
337
+ }
338
+
339
+ __autoproj_help_tag() {
340
+ _arguments \
341
+ '*:arg:'
342
+ }
343
+
344
+ __autoproj_help_commit() {
345
+ _arguments \
346
+ '*:arg:'
347
+ }
348
+
349
+ __autoproj_help_switch-config() {
350
+ _arguments \
351
+ '*:arg:'
352
+ }
353
+
354
+ __autoproj_help_query() {
355
+ _arguments \
356
+ '*:arg:'
357
+ }
358
+
359
+ __autoproj_help_plugin() {
360
+ _arguments \
361
+ '*:arg:'
362
+ }
363
+
364
+ __autoproj_help_global() {
365
+ _arguments \
366
+ '*:arg:'
367
+ }
368
+
369
+ __autoproj_help_manifest() {
370
+ _arguments \
371
+ '*:arg:'
372
+ }
373
+
374
+ __autoproj_help_exec() {
375
+ _arguments \
376
+ '*:arg:'
377
+ }
378
+
379
+ __autoproj_help_which() {
380
+ _arguments \
381
+ '*:arg:'
382
+ }
383
+
384
+ __autoproj_bootstrap() {
385
+ _arguments \
386
+ {--verbose,--no-verbose}'[turns verbose output]' \
387
+ {--debug,--no-debug}'[turns debugging output]' \
388
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
389
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
390
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
391
+ --reuse'[reuse packages already built within the DIR autoproj workspace in this installation, if DIR is not given, reuses the installation whose env.sh is currently sourced]' \
392
+ --seed-config'[a configuration file used to seed the bootstrap''s configuration]' \
393
+ '*:arg::'
394
+ }
395
+
396
+ __autoproj_envsh() {
397
+ _arguments \
398
+ {--verbose,--no-verbose}'[turns verbose output]' \
399
+ {--debug,--no-debug}'[turns debugging output]' \
400
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
401
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
402
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
403
+ '*:arg::'
404
+ }
405
+
406
+ __autoproj_status() {
407
+ _arguments \
408
+ {--verbose,--no-verbose}'[turns verbose output]' \
409
+ {--debug,--no-debug}'[turns debugging output]' \
410
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
411
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
412
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
413
+ {--local,--no-local}'[only use locally available information (mainly for distributed version control systems such as git)]' \
414
+ --mainline'[compare to the given baseline. if ''true'', the comparison will ignore any override, otherwise it will take into account overrides only up to the given package set]' \
415
+ {--snapshot,--no-snapshot}'[use the VCS information as ''versions --no-local'' would detect it instead of the one in the configuration]' \
416
+ {--parallel,-p}'[maximum number of parallel jobs]' \
417
+ {--deps,--no-deps}'[whether only the status of the given packages should be displayed, or of their dependencies as well. -n is a shortcut for --no-deps]' \
418
+ '*:arg:_autoproj_installed_packages'
419
+ }
420
+
421
+ __autoproj_doc() {
422
+ _arguments \
423
+ {--verbose,--no-verbose}'[turns verbose output]' \
424
+ {--debug,--no-debug}'[turns debugging output]' \
425
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
426
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
427
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
428
+ {--deps,--no-deps}'[control whether documentation should be generated only for the packages given on the command line, or also for their dependencies. -n is a shortcut for --no-deps]' \
429
+ '*:arg:_autoproj_installed_packages'
430
+ }
431
+
432
+ __autoproj_update() {
433
+ _arguments \
434
+ {--verbose,--no-verbose}'[turns verbose output]' \
435
+ {--debug,--no-debug}'[turns debugging output]' \
436
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
437
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
438
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
439
+ {--keep-going,--no-keep-going,-k}'[do not stop on build or checkout errors]' \
440
+ {--config,--no-config}'[(do not) update configuration. The default is to update configuration if explicitely selected or if no additional arguments are given on the command line, and to not do it if packages are explicitely selected on the command line]' \
441
+ {--bundler,--no-bundler}'[(do not) update bundler. This is automatically enabled only if no arguments are given on the command line]' \
442
+ {--autoproj,--no-autoproj}'[(do not) update autoproj. This is automatically enabled only if no arguments are given on the command line]' \
443
+ {--osdeps,--no-osdeps}'[enable or disable osdeps handling]' \
444
+ --from'[use this existing autoproj installation to check out the packages (for importers that support this)]' \
445
+ {--checkout-only,--no-checkout-only,-c}'[only checkout packages, do not update existing ones]' \
446
+ {--local,--no-local}'[use only local information for the update (for importers that support it)]' \
447
+ {--osdeps-filter-uptodate,--no-osdeps-filter-uptodate}'[controls whether the osdeps subsystem should filter up-to-date packages or not]' \
448
+ {--deps,--no-deps}'[whether the package dependencies should be recursively updated (the default) or not. -n is a shortcut for --no-deps]' \
449
+ {--reset,--no-reset}'[forcefully resets the repository to the state expected by autoproj''s configuration]' \
450
+ {--force-reset,--no-force-reset}'[like --reset, but bypasses tests that ensure you won''t lose data]' \
451
+ --retry-count'[force the importer''s retry count to this value]' \
452
+ {--parallel,-p}'[maximum number of parallel jobs]' \
453
+ --mainline'[compare to the given baseline. if ''true'', the comparison will ignore any override, otherwise it will take into account overrides only up to the given package set]' \
454
+ {--auto-exclude,--no-auto-exclude}'[if true, packages that fail to import will be excluded from the build]' \
455
+ '*:arg:_autoproj_installed_packages'
456
+ }
457
+
458
+ __autoproj_build() {
459
+ _arguments \
460
+ {--verbose,--no-verbose}'[turns verbose output]' \
461
+ {--debug,--no-debug}'[turns debugging output]' \
462
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
463
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
464
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
465
+ {--keep-going,--no-keep-going,-k}'[do not stop on build or checkout errors]' \
466
+ {--force,--no-force}'[force reconfiguration-build cycle on the requested packages, even if they do not seem to need it]' \
467
+ {--rebuild,--no-rebuild}'[clean and build the requested packages]' \
468
+ {--osdeps,--no-osdeps}'[controls whether missing osdeps should be installed. In rebuild mode, also controls whether the osdeps should be reinstalled or not (the default is to reinstall them)]' \
469
+ {--deps,--no-deps}'[controls whether the operation should apply to the package''s dependencies as well. -n is a shortcut for --no-deps]' \
470
+ {--parallel,-p}'[maximum number of parallel jobs]' \
471
+ {--auto-exclude,--no-auto-exclude}'[if true, packages that fail to import will be excluded from the build]' \
472
+ {--tool,--no-tool}'[act as a build tool, transparently passing the subcommand''s outputs to STDOUT]' \
473
+ {--confirm,--no-confirm}'[--force and --rebuild will ask confirmation if applied to the whole workspace. Use --no-confirm to disable this confirmation]' \
474
+ '*:arg:_autoproj_installed_packages'
475
+ }
476
+
477
+ __autoproj_cache() {
478
+ _arguments \
479
+ {--verbose,--no-verbose}'[turns verbose output]' \
480
+ {--debug,--no-debug}'[turns debugging output]' \
481
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
482
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
483
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
484
+ {--keep-going,-k}'[do not stop on errors]' \
485
+ {--checkout-only,--no-checkout-only,-c}'[only checkout packages, do not update already-cached ones]' \
486
+ {--all,--no-all}'[cache all defined packages (the default) or only the selected ones]' \
487
+ '*:arg:_files'
488
+ }
489
+
490
+ __autoproj_clean() {
491
+ _arguments \
492
+ {--verbose,--no-verbose}'[turns verbose output]' \
493
+ {--debug,--no-debug}'[turns debugging output]' \
494
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
495
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
496
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
497
+ {--deps,--no-deps}'[clean the given packages as well as their dependencies]' \
498
+ {--all,--no-all}'[bypass the safety question when you mean to clean all packages]' \
499
+ '*:arg:_autoproj_installed_packages'
500
+ }
501
+
502
+ __autoproj_locate() {
503
+ _arguments \
504
+ {--verbose,--no-verbose}'[turns verbose output]' \
505
+ {--debug,--no-debug}'[turns debugging output]' \
506
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
507
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
508
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
509
+ {--cache,--no-cache}'[controls whether the resolution should be done by loading the whole configuration (false, slow) or through a cache file (the default)]' \
510
+ {--prefix,--no-prefix,-p}'[outputs the package''s prefix directory instead of its source directory]' \
511
+ {--build,--no-build,-b}'[outputs the package''s build directory instead of its source directory]' \
512
+ {--log,-l}'[outputs the path to a package''s log file]' \
513
+ '*:arg:_autoproj_installed_packages'
514
+ }
515
+
516
+ __autoproj_reconfigure() {
517
+ _arguments \
518
+ {--verbose,--no-verbose}'[turns verbose output]' \
519
+ {--debug,--no-debug}'[turns debugging output]' \
520
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
521
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
522
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
523
+ {--separate-prefixes,--no-separate-prefixes}'[sets or clears autoproj''s separate prefixes mode]' \
524
+ '*:arg::'
525
+ }
526
+
527
+ __autoproj_test() {
528
+ readonly local DEPTH=3
529
+
530
+ case $CURRENT in
531
+ $DEPTH)
532
+ _arguments \
533
+ '*: :->subcommands'
534
+
535
+ case $state in
536
+ subcommands)
537
+ _values \
538
+ 'subcommand' \
539
+ 'help[Describe subcommands or one specific subcommand]' \
540
+ 'enable[enable tests for the given packages (or for all packages if none are given)]' \
541
+ 'disable[disable tests for the given packages (or for all packages if none are given)]' \
542
+ 'list[show test enable/disable status for the given packages (or all packages if none are given)]' \
543
+ 'exec[execute the tests for the given packages, or all if no packages are given on the command line]' \
544
+ ;
545
+ ;;
546
+ esac
547
+ ;;
548
+ *)
549
+ case $words[$DEPTH] in
550
+ help)
551
+ __autoproj_test_help
552
+ ;;
553
+ enable)
554
+ __autoproj_test_enable
555
+ ;;
556
+ disable)
557
+ __autoproj_test_disable
558
+ ;;
559
+ list)
560
+ __autoproj_test_list
561
+ ;;
562
+ exec)
563
+ __autoproj_test_exec
564
+ ;;
565
+ esac
566
+ ;;
567
+ esac
568
+ }
569
+
570
+
571
+ __autoproj_test_help() {
572
+ readonly local DEPTH=4
573
+
574
+ case $CURRENT in
575
+ $DEPTH)
576
+ _arguments \
577
+ '*: :->subcommands'
578
+
579
+ case $state in
580
+ subcommands)
581
+ _values \
582
+ 'subcommand' \
583
+ 'enable[enable tests for the given packages (or for all packages if none are given)]' \
584
+ 'disable[disable tests for the given packages (or for all packages if none are given)]' \
585
+ 'list[show test enable/disable status for the given packages (or all packages if none are given)]' \
586
+ 'exec[execute the tests for the given packages, or all if no packages are given on the command line]' \
587
+ ;
588
+ ;;
589
+ esac
590
+ ;;
591
+ *)
592
+ case $words[$DEPTH] in
593
+ enable)
594
+ __autoproj_test_help_enable
595
+ ;;
596
+ disable)
597
+ __autoproj_test_help_disable
598
+ ;;
599
+ list)
600
+ __autoproj_test_help_list
601
+ ;;
602
+ exec)
603
+ __autoproj_test_help_exec
604
+ ;;
605
+ esac
606
+ ;;
607
+ esac
608
+ }
609
+
610
+
611
+ __autoproj_test_help_enable() {
612
+ _arguments \
613
+ '*:arg:'
614
+ }
615
+
616
+ __autoproj_test_help_disable() {
617
+ _arguments \
618
+ '*:arg:'
619
+ }
620
+
621
+ __autoproj_test_help_list() {
622
+ _arguments \
623
+ '*:arg:'
624
+ }
625
+
626
+ __autoproj_test_help_exec() {
627
+ _arguments \
628
+ '*:arg:'
629
+ }
630
+
631
+ __autoproj_test_enable() {
632
+ _arguments \
633
+ {--deps,--no-deps}'[controls whether the dependencies of the packages given on the command line should be enabled as well (the default is not)]' \
634
+ '*:arg:_autoproj_installed_packages'
635
+ }
636
+
637
+ __autoproj_test_disable() {
638
+ _arguments \
639
+ {--deps,--no-deps}'[controls whether the dependencies of the packages given on the command line should be disabled as well (the default is not)]' \
640
+ '*:arg:_autoproj_installed_packages'
641
+ }
642
+
643
+ __autoproj_test_list() {
644
+ _arguments \
645
+ {--deps,--no-deps}'[controls whether the dependencies of the packages given on the command line should be disabled as well (the default is not)]' \
646
+ '*:arg:_autoproj_installed_packages'
647
+ }
648
+
649
+ __autoproj_test_exec() {
650
+ _arguments \
651
+ {--keep-going,--no-keep-going,-k}'[do not stop on build or checkout errors]' \
652
+ {--deps,--no-deps}'[controls whether to execute the tests of the dependencies of the packages given on the command line (the default is not)]' \
653
+ {--fail,--no-fail}'[return with a nonzero exit code if the test does not pass]' \
654
+ {--coverage,--no-coverage}'[whether code coverage should be generated if possible]' \
655
+ {--tool,--no-tool}'[build in tool mode, which do not redirect the subcommand''s outputs]' \
656
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
657
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
658
+ '*:arg:_autoproj_installed_packages'
659
+ }
660
+
661
+ __autoproj_show() {
662
+ _arguments \
663
+ {--verbose,--no-verbose}'[turns verbose output]' \
664
+ {--debug,--no-debug}'[turns debugging output]' \
665
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
666
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
667
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
668
+ --mainline'[compare to the given baseline. if ''true'', the comparison will ignore any override, otherwise it will take into account overrides only up to the given package set]' \
669
+ {--env,--no-env}'[display the package''s own environment]' \
670
+ --short'[display a package summary with one package line]' \
671
+ {--recursive,--no-recursive}'[display the package and their dependencies (the default is to only display selected packages)]' \
672
+ '*:arg:_autoproj_installed_packages'
673
+ }
674
+
675
+ __autoproj_osdeps() {
676
+ _arguments \
677
+ {--verbose,--no-verbose}'[turns verbose output]' \
678
+ {--debug,--no-debug}'[turns debugging output]' \
679
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
680
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
681
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
682
+ {--system-info,--no-system-info}'[show information about the osdep system and quit]' \
683
+ {--update,--no-update}'[whether already installed packages should be updated or not]' \
684
+ '*:arg:_autoproj_installed_packages'
685
+ }
686
+
687
+ __autoproj_versions() {
688
+ _arguments \
689
+ {--verbose,--no-verbose}'[turns verbose output]' \
690
+ {--debug,--no-debug}'[turns debugging output]' \
691
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
692
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
693
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
694
+ {--config,--no-config}'[controls whether the package sets should be versioned as well]' \
695
+ {--keep-going,--no-keep-going,-k}'[do not stop if some package cannot be versioned]' \
696
+ {--replace,--no-replace}'[in combination with --save, controls whether an existing file should be updated or replaced]' \
697
+ {--deps,--no-deps}'[whether both packages and their dependencies should be versioned, or only the selected packages (the latter is the default)]' \
698
+ {--local,--no-local}'[whether we should access the remote server to verify that the snapshotted state is present]' \
699
+ --save'[save to the given file instead of displaying it on the standard output]' \
700
+ '*:arg:_autoproj_installed_packages'
701
+ }
702
+
703
+ __autoproj_log() {
704
+ _arguments \
705
+ {--verbose,--no-verbose}'[turns verbose output]' \
706
+ {--debug,--no-debug}'[turns debugging output]' \
707
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
708
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
709
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
710
+ --since'[show what got updated since the given version]' \
711
+ {--diff,--no-diff}'[show the difference between two stages in the log]' \
712
+ '*:arg::'
713
+ }
714
+
715
+ __autoproj_reset() {
716
+ _arguments \
717
+ {--verbose,--no-verbose}'[turns verbose output]' \
718
+ {--debug,--no-debug}'[turns debugging output]' \
719
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
720
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
721
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
722
+ {--freeze,--no-freeze}'[whether the version we reset to should be saved in overrides.d or not]' \
723
+ '*:arg::'
724
+ }
725
+
726
+ __autoproj_tag() {
727
+ _arguments \
728
+ {--verbose,--no-verbose}'[turns verbose output]' \
729
+ {--debug,--no-debug}'[turns debugging output]' \
730
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
731
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
732
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
733
+ {--package-sets,--no-package-sets}'[commit the package set state as well (enabled by default)]' \
734
+ {--keep-going,--no-keep-going,-k}'[do not stop on build or checkout errors]' \
735
+ {--message,-m}'[the message to use for the new commit (the default is to mention the creation of the tag)]' \
736
+ '*:arg:_autoproj_installed_packages'
737
+ }
738
+
739
+ __autoproj_commit() {
740
+ _arguments \
741
+ {--verbose,--no-verbose}'[turns verbose output]' \
742
+ {--debug,--no-debug}'[turns debugging output]' \
743
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
744
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
745
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
746
+ {--package-sets,--no-package-sets}'[commit the package set state as well (enabled by default)]' \
747
+ {--keep-going,--no-keep-going,-k}'[do not stop on build or checkout errors]' \
748
+ {--tag,-t}'[the tag name to use]' \
749
+ {--message,-m}'[the message to use for the new commit (the default is to mention the creation of the tag)]' \
750
+ '*:arg:_autoproj_installed_packages'
751
+ }
752
+
753
+ __autoproj_switch-config() {
754
+ _arguments \
755
+ {--verbose,--no-verbose}'[turns verbose output]' \
756
+ {--debug,--no-debug}'[turns debugging output]' \
757
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
758
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
759
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
760
+ '*:arg::'
761
+ }
762
+
763
+ __autoproj_query() {
764
+ _arguments \
765
+ {--verbose,--no-verbose}'[turns verbose output]' \
766
+ {--debug,--no-debug}'[turns debugging output]' \
767
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
768
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
769
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
770
+ {--search-all,--no-search-all}'[search in all defined packages instead of only in those selected selected in the layout]' \
771
+ --format'[customize what should be displayed. See FORMAT SPECIFICATION above]' \
772
+ '*:arg::'
773
+ }
774
+
775
+ __autoproj_plugin() {
776
+ readonly local DEPTH=3
777
+
778
+ case $CURRENT in
779
+ $DEPTH)
780
+ _arguments \
781
+ '*: :->subcommands'
782
+
783
+ case $state in
784
+ subcommands)
785
+ _values \
786
+ 'subcommand' \
787
+ 'help[Describe subcommands or one specific subcommand]' \
788
+ 'install[install or upgrade an autoproj plugin]' \
789
+ 'list[list installed plugins]' \
790
+ 'remove[uninstall a plugin]' \
791
+ ;
792
+ ;;
793
+ esac
794
+ ;;
795
+ *)
796
+ case $words[$DEPTH] in
797
+ help)
798
+ __autoproj_plugin_help
799
+ ;;
800
+ install)
801
+ __autoproj_plugin_install
802
+ ;;
803
+ list)
804
+ __autoproj_plugin_list
805
+ ;;
806
+ remove)
807
+ __autoproj_plugin_remove
808
+ ;;
809
+ esac
810
+ ;;
811
+ esac
812
+ }
813
+
814
+
815
+ __autoproj_plugin_help() {
816
+ readonly local DEPTH=4
817
+
818
+ case $CURRENT in
819
+ $DEPTH)
820
+ _arguments \
821
+ '*: :->subcommands'
822
+
823
+ case $state in
824
+ subcommands)
825
+ _values \
826
+ 'subcommand' \
827
+ 'install[install or upgrade an autoproj plugin]' \
828
+ 'list[list installed plugins]' \
829
+ 'remove[uninstall a plugin]' \
830
+ ;
831
+ ;;
832
+ esac
833
+ ;;
834
+ *)
835
+ case $words[$DEPTH] in
836
+ install)
837
+ __autoproj_plugin_help_install
838
+ ;;
839
+ list)
840
+ __autoproj_plugin_help_list
841
+ ;;
842
+ remove)
843
+ __autoproj_plugin_help_remove
844
+ ;;
845
+ esac
846
+ ;;
847
+ esac
848
+ }
849
+
850
+
851
+ __autoproj_plugin_help_install() {
852
+ _arguments \
853
+ '*:arg:'
854
+ }
855
+
856
+ __autoproj_plugin_help_list() {
857
+ _arguments \
858
+ '*:arg:'
859
+ }
860
+
861
+ __autoproj_plugin_help_remove() {
862
+ _arguments \
863
+ '*:arg:'
864
+ }
865
+
866
+ __autoproj_plugin_install() {
867
+ _arguments \
868
+ --version'[a gem version constraint]' \
869
+ --git'[checkout a git repository instead of downloading the gem]' \
870
+ --path'[use the plugin that is already present on this path]' \
871
+ '*:arg::'
872
+ }
873
+
874
+ __autoproj_plugin_list() {
875
+ _arguments \
876
+ '*:arg::'
877
+ }
878
+
879
+ __autoproj_plugin_remove() {
880
+ _arguments \
881
+ '*:arg::'
882
+ }
883
+
884
+ __autoproj_global() {
885
+ readonly local DEPTH=3
886
+
887
+ case $CURRENT in
888
+ $DEPTH)
889
+ _arguments \
890
+ '*: :->subcommands'
891
+
892
+ case $state in
893
+ subcommands)
894
+ _values \
895
+ 'subcommand' \
896
+ 'help[Describe subcommands or one specific subcommand]' \
897
+ 'register[register the current workspace]' \
898
+ 'status[display information about the known workspaces]' \
899
+ ;
900
+ ;;
901
+ esac
902
+ ;;
903
+ *)
904
+ case $words[$DEPTH] in
905
+ help)
906
+ __autoproj_global_help
907
+ ;;
908
+ register)
909
+ __autoproj_global_register
910
+ ;;
911
+ status)
912
+ __autoproj_global_status
913
+ ;;
914
+ esac
915
+ ;;
916
+ esac
917
+ }
918
+
919
+
920
+ __autoproj_global_help() {
921
+ readonly local DEPTH=4
922
+
923
+ case $CURRENT in
924
+ $DEPTH)
925
+ _arguments \
926
+ '*: :->subcommands'
927
+
928
+ case $state in
929
+ subcommands)
930
+ _values \
931
+ 'subcommand' \
932
+ 'register[register the current workspace]' \
933
+ 'status[display information about the known workspaces]' \
934
+ ;
935
+ ;;
936
+ esac
937
+ ;;
938
+ *)
939
+ case $words[$DEPTH] in
940
+ register)
941
+ __autoproj_global_help_register
942
+ ;;
943
+ status)
944
+ __autoproj_global_help_status
945
+ ;;
946
+ esac
947
+ ;;
948
+ esac
949
+ }
950
+
951
+
952
+ __autoproj_global_help_register() {
953
+ _arguments \
954
+ '*:arg:'
955
+ }
956
+
957
+ __autoproj_global_help_status() {
958
+ _arguments \
959
+ '*:arg:'
960
+ }
961
+
962
+ __autoproj_global_register() {
963
+ _arguments \
964
+ '*:arg::'
965
+ }
966
+
967
+ __autoproj_global_status() {
968
+ _arguments \
969
+ '*:arg::'
970
+ }
971
+
972
+ __autoproj_manifest() {
973
+ _arguments \
974
+ {--verbose,--no-verbose}'[turns verbose output]' \
975
+ {--debug,--no-debug}'[turns debugging output]' \
976
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
977
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
978
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
979
+ '*:arg:_files'
980
+ }
981
+
982
+ __autoproj_exec() {
983
+ _arguments \
984
+ {--verbose,--no-verbose}'[turns verbose output]' \
985
+ {--debug,--no-debug}'[turns debugging output]' \
986
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
987
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
988
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
989
+ {--use-cache,--no-use-cache}'[use the cached environment instead of loading the whole configuration]' \
990
+ '*:arg:_path_commands'
991
+ }
992
+
993
+ __autoproj_which() {
994
+ _arguments \
995
+ {--verbose,--no-verbose}'[turns verbose output]' \
996
+ {--debug,--no-debug}'[turns debugging output]' \
997
+ {--silent,--no-silent}'[tell autoproj to not display anything]' \
998
+ {--color,--no-color}'[enables or disables colored display (enabled by default if the terminal supports it)]' \
999
+ {--progress,--no-progress}'[enables or disables progress display (enabled by default if the terminal supports it)]' \
1000
+ {--use-cache,--no-use-cache}'[use the cached environment instead of loading the whole configuration]' \
1001
+ '*:arg:_path_commands'
1002
+ }
1003
+
1004
+
1005
+ compdef _autoproj autoproj