Class: Ki::ImportVersion

Inherits:
Object show all
Defined in:
lib/cmd/version_cmd.rb

Overview

Imports version and its files to repository

See Also:

Instance Method Summary collapse

Instance Method Details

#execute(ctx, args) ⇒ Object



181
182
183
184
185
# File 'lib/cmd/version_cmd.rb', line 181

def execute(ctx, args)
  @importer = VersionImporter.new
  opts.parse(args)
  @importer.ki_home(ctx.ki_home).import(file, input_dir)
end

#helpObject



218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
# File 'lib/cmd/version_cmd.rb', line 218

def help
  <<EOF
"#{shell_command}" imports version and its files to repository.

Version name can be defined either during "version-build",
or generated automatically for component at import (with -c my/component) or defined to be a specific version (-v).
Can also move files (-m), test dependencies before import (-t).

### Examples

#{shell_command} -m -t -c my/product
#{shell_command} -f ki-version.json -i file-directory

### Parameters
#{opts}
EOF
end

#optsObject



187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/cmd/version_cmd.rb', line 187

def opts
  OptionParser.new do |opts|
    opts.banner = ""
    opts.on("-f", "--file FILE", "Version source file. By default uses file's directory as source for binary files.'") do |v|
      if !defined? @input_dir
        input_dir(File.dirname(v))
      end
      file(v)
    end
    opts.on("-i", "--input-directory INPUT-DIR", "Input directory") do |v|
      input_dir(v)
    end
    opts.on("-t", "--test-recursive", "Tests version's dependencies before importing.'") do |v|
      @importer.tester.recursive = true
    end
    opts.on("-m", "--move", "Moves files to repository'") do |v|
      @importer.move_files = true
    end
    opts.on("-c", "--create-new-version COMPONENT", "Creates new version number for defined component'") do |c|
      @importer.create_new_version = c
    end
    opts.on("-v", "--version-id VERSION", "Imports version with defined version id'") do |v|
      @importer.specific_version_id = v
    end
  end
end

#summaryObject



214
215
216
# File 'lib/cmd/version_cmd.rb', line 214

def summary
  "Imports version metadata and files to repository"
end