Module: Metanorma::Release::CLI
- Defined in:
- lib/metanorma/release/cli.rb
Class Method Summary collapse
- .run(argv) ⇒ Object
- .run_aggregate(argv) ⇒ Object
- .run_package(argv) ⇒ Object
- .run_publish(argv) ⇒ Object
Class Method Details
.run(argv) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/metanorma/release/cli.rb', line 10 def run(argv) command = argv.shift case command when 'package' then run_package(argv) when 'publish' then run_publish(argv) when 'aggregate' then run_aggregate(argv) when nil warn 'Usage: metanorma-release <package|publish|aggregate> [options]' exit 2 else warn "Unknown command: #{command}" exit 2 end end |
.run_aggregate(argv) ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/metanorma/release/cli.rb', line 39 def run_aggregate(argv) config = parse_aggregate_args(argv) result = AggregateCommand.new(config).call print_aggregate_result(result) if config.min_documents.positive? && result.documents.length < config.min_documents warn "Error: Found #{result.documents.length} documents, minimum is #{config.min_documents}" exit 1 end exit(result.failed_repos.empty? ? 0 : 1) end |
.run_package(argv) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/metanorma/release/cli.rb', line 25 def run_package(argv) config = parse_package_args(argv) result = PackageCommand.new(config).call print_package_result(result, config.dest) exit(result.failed.empty? ? 0 : 1) end |
.run_publish(argv) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/metanorma/release/cli.rb', line 32 def run_publish(argv) config = parse_publish_args(argv) result = PublishCommand.new(config).call print_publish_result(result) exit(result.failed.empty? ? 0 : 1) end |