Class: Metanorma::Release::PackageCommand

Inherits:
Object
  • Object
show all
Includes:
ConfigResolver
Defined in:
lib/metanorma/release/commands/package.rb

Defined Under Namespace

Classes: Config

Instance Method Summary collapse

Methods included from ConfigResolver

#load_manifest, #resolve_channel_config

Constructor Details

#initialize(config) ⇒ PackageCommand

Returns a new instance of PackageCommand.



13
14
15
# File 'lib/metanorma/release/commands/package.rb', line 13

def initialize(config)
  @config = config
end

Instance Method Details

#callObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/metanorma/release/commands/package.rb', line 17

def call
  manifest = load_manifest(@config.manifest)
  channel_config = resolve_channel_config(@config.config_source, manifest)

  deps = ReleasePipeline::Dependencies.new(
    extractor: RxlExtractor.new,
    filters: [],
    change_detector: ContentHashChangeDetector.new(previous_releases: {}),
    packager: ZipPackager.new,
    publisher: PlatformFactory.build_publisher('null', {}),
    naming_registry: NamingRegistry.default_registry,
    manifest: manifest,
    channel_override: nil,
    channel_config: channel_config
  )

  pipeline_config = ReleasePipeline::Config.new(
    output_dir: @config.output_dir,
    manifest_path: @config.manifest,
    force: false,
    force_replace_patterns: nil,
    concurrency: 4,
    default_visibility: 'public'
  )

  ReleasePipeline.new(deps).run(pipeline_config)
end