class Ki::ShowVersion
Shows information about a version
Public Instance Methods
execute(ctx, args)
click to toggle source
# File lib/cmd/version_cmd.rb, line 341 def execute(ctx, args) finder = ctx.ki_home.finder versions = opts.parse(args).map { |v| finder.version(v) } if @file versions.unshift Version.create_version(@file, @input_dir) end versions.each do |ver| VersionIterator.new.finder(finder).version(ver).iterate_versions do |version| metadata = version.metadata puts "Version: #{metadata.version_id}" if metadata.source.size > 0 puts "Source: #{map_to_csl(metadata.source)}" end if metadata.dependencies.size > 0 puts "Dependencies(#{metadata.dependencies.size}):" metadata.dependencies.each do |dep| dep_data = dep.dup dep_ops = dep_data.delete("operations") puts "#{dep_data.delete("version_id")}: #{map_to_csl(dep_data)}" if dep_ops && dep_ops.size > 0 puts "Depedency operations:" dep_ops.each do |op| puts op.join(" ") end end end end if metadata.files.size > 0 puts "Files(#{metadata.files.size}):" metadata.files.each do |file| file_data = file.dup puts "#{file_data.delete("path")} - size: #{file_data.delete("size")}, #{map_to_csl(file_data)}" end end if metadata.operations.size > 0 puts "Version operations(#{metadata.operations.size}):" metadata.operations.each do |op| puts op.join(" ") end end if @dirs puts "Version directories: #{version.versions.map { |v| v.path }.join(", ")}" end if !@recursive break end end end end
help()
click to toggle source
# File lib/cmd/version_cmd.rb, line 421 def help <<EOF "#{shell_command}" prints information about version or versions and their dependencies ### Examples #{shell_command} -r -d my/component/23 my/product/127 #{shell_command} -f ki-version.json -i binary-dir ### Parameters #{opts} EOF end
map_to_csl(map)
click to toggle source
# File lib/cmd/version_cmd.rb, line 391 def map_to_csl(map) map.sort.map { |k, v| "#{k}=#{Array(v).join(",")}" }.join(", ") end
opts()
click to toggle source
# File lib/cmd/version_cmd.rb, line 395 def opts OptionParser.new do |opts| opts.banner = "" opts.on("-r", "--recursive", "Shows version's dependencies.") do |v| @recursive = true end opts.on("-d", "--dirs", "Shows version's directories.") do |v| @dirs = true end opts.on("-f", "--file FILE", "Version source file. By default uses file's directory as source for binary files.") do |v| if @input_dir.nil? dir = File.dirname(v) @input_dir = dir != "." ? dir : Dir.pwd end @file = v end opts.on("-i", "--input-directory INPUT-DIR", "Binary file input directory") do |v| @input_dir = v end end end
summary()
click to toggle source
# File lib/cmd/version_cmd.rb, line 417 def summary "Prints information about version or versions" end