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