Class: Metanorma::Release::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/metanorma/release/cli.rb

Defined Under Namespace

Classes: PipelineError

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/metanorma/release/cli.rb', line 8

def self.exit_on_failure?
  true
end

Instance Method Details

#aggregateObject



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/metanorma/release/cli.rb', line 107

def aggregate
  configure_logging
  config = AggregateCommand.build_config(
    source: options[:source],
    organizations: options[:organizations],
    topic: options[:topic],
    repos: options[:repos],
    channels: options[:channels],
    output_dir: options[:output_dir],
    file_routing: options[:file_routing],
    cache_dir: options[:cache_dir],
    data_dir: options[:data_dir],
    include_drafts: options[:include_drafts],
    concurrency: options[:concurrency],
    min_documents: options[:min_documents],
    token: options[:token],
    create_zip: nil,
    config: options[:config],
  )
  result = AggregateCommand.new(config).call
  print_aggregate_result(result)

  if config.min_documents.positive? && result.publications.length < config.min_documents
    raise PipelineError,
          "Found #{result.publications.length} documents, minimum is #{config.min_documents}"
  end

  unless result.failed_repos.empty?
    raise PipelineError,
          format_repo_failures(result)
  end
end

#packageObject

Raises:



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/metanorma/release/cli.rb', line 34

def package
  configure_logging
  config = PackageCommand::Config.new(
    output_dir: options[:output_dir],
    dest: options[:dest],
    manifest: options[:manifest],
    config_source: options[:config],
  )
  result = PackageCommand.new(config).call
  print_package_result(result, config.dest)
  raise PipelineError, format_failures(result) unless result.failed.empty?
end

#releaseObject

Raises:



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/metanorma/release/cli.rb', line 63

def release
  configure_logging
  config = ReleaseCommand::Config.new(
    output_dir: options[:output_dir],
    platform: options[:platform],
    manifest: options[:manifest],
    force: options[:force],
    force_replace: options[:force_replace],
    channels: options[:channels],
    concurrency: options[:concurrency],
    token: options[:token],
    config_source: options[:config],
  )
  result = ReleaseCommand.new(config).call
  print_publish_result(result)
  raise PipelineError, format_failures(result) unless result.failed.empty?
end

#versionObject



15
16
17
# File 'lib/metanorma/release/cli.rb', line 15

def version
  puts "metanorma-release #{VERSION}"
end