Sha256: 5d8baea2bb2d44276bbcec83c7943d88cbd9d2f92e65bb4b126268b855dfc06b

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

#!/usr/bin/env ruby

require 'scout'

$0 = "scout #{$previous_commands.any? ? $previous_commands*" " + " " : "" }#{ File.basename(__FILE__) }" if $previous_commands

options = SOPT.setup <<EOF

Run a workflow job

$ #{$0} [<options>] <workflow> <task>

-h--help Print this help
-jn--job_name* Name to use as job identifier
-pf--print_filepath Print the file path
-cl--clean Clean the last step
-rcl--recursive_clean Clean all steps
EOF

workflow_name, task_name = ARGV

raise MissingParameterException.new :workflow if workflow_name.nil?

workflow = Workflow.require_workflow workflow_name
task = workflow.tasks[task_name.to_sym] if task_name

options[:help] = true if task.nil?

if options[:help]
  if defined? scout_usage
    scout_usage 
  else
    puts SOPT.doc
  end

  puts workflow.usage(task) if workflow
  exit 0
end

job_options = task.get_SOPT(task)
job = task.job(options[:job_name], job_options)

job.recursive_clean if options[:recursive_clean]
job.clean if options[:clean]

job.run

if options[:print_filepath]
  path = job.path
  path = path.find if Path === path
  puts path
else
  if ! Open.consume_stream(job.stream, false, STDOUT, false).end_with? "\n"
    puts
  end
end


Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
scout-gear-7.1.0 scout_commands/workflow/task
scout-gear-6.0.0 scout_commands/workflow/task
scout-gear-5.2.0 scout_commands/workflow/task