Sha256: 5c0acf303cb5ef4c89cf8c72e46739ce5c26dd99b66d685188965467f1b453bf

Contents?: true

Size: 1.41 KB

Versions: 96

Compression:

Stored size: 1.41 KB

Contents

#!/usr/bin/env ruby

require 'rbbt-util'
require 'rbbt/util/simpleopt'
require 'rbbt/workflow'

$0 = "rbbt #{$previous_commands*" "} #{ File.basename(__FILE__) }" if $previous_commands

options = SOPT.setup <<EOF

Make a job forget its dependencies and archive their meta-data

$ #{$0} [options] <job_path> [<task_name>|<workflow>#<task_name>] ...

Specific dependencies can be specified as . Otherwise, all are forgoten.

-h--help Print this help
-p--purge Purge dependencies
-r--recursive_purge Purge dependencies recursively

EOF
if options[:help]
  if defined? rbbt_usage
    rbbt_usage 
  else
    puts SOPT.doc
  end
  exit 0
end

path, *remove = ARGV

raise ParameterException, "No path given" if path.nil?
step = Workflow.load_step path

step.archive_deps
step.copy_files_dir
dependencies = step.dependencies

if remove && remove.any?
  remove_paths = dependencies.select do |dep|
    remove.include?(dep.task_name) || remove.include?([dep.workflow.to_s, dep.task_name] * "#")
  end.collect{|dep| dep.path } 
else
  remove_paths = dependencies.collect{|dep| dep.path }
end

step.set_info :dependencies, step.info[:dependencies].reject{|info| remove_paths.include? info.last}

if options[:purge] || options[:recursive_purge]
  dependencies.each do |dependency|
    next unless remove_paths.include? dependency.path
    next unless Open.exists?(dependency.info_file)
    Step.purge(dependency.path, options[:recursive_purge])
  end
end

Version data entries

96 entries across 96 versions & 1 rubygems

Version Path
rbbt-util-6.0.3 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.44.1 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.43.0 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.42.0 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.41.1 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.41.0 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.40.5 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.40.4 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.40.3 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.40.0 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.39.0 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.38.1 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.38.0 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.37.16 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.37.15 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.37.14 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.37.13 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.37.12 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.37.11 share/rbbt_commands/workflow/forget_deps
rbbt-util-5.37.10 share/rbbt_commands/workflow/forget_deps