#!/usr/local/bin/perl -T ################################################################################ # # $Id$ # # Release all dependencies on a job. Make it get into the 'Ready' state # immediately. # ################################################################################ use strict; use warnings; use Carp; use TaskForest::LogDir; use TaskForest::Options; use TaskForest::Release; use Getopt::Long; my $family_job_name = ''; my $log_dir_root; my $help; my $family_dir = ''; my $log_date = ''; my $got_options = Getopt::Long::GetOptions( "job=s" => \$family_job_name, "log_dir=s" => \$log_dir_root, "help" => \$help, "family_dir=s" => \$family_dir, "log_date=s" => \$log_date, ); if ($help or !$log_dir_root or !$family_job_name or !$family_dir ) { print "Usage: release --job=Ff::Jj --log_dir=log_directory --family_dir=family_directory [ --log_date=YYYYMMDD ]\n\n"; exit 1; } if ($family_job_name !~ /^([a-z0-9_]+)::([a-z0-9_\-]+)$/i) { print "Usage: release --job=Ff:Jj --log_dir=log_directory --family_dir=family_directory [ --log_date=YYYYMMDD ]\n\n"; confess("\nThe --job command line argument must be of the form: Ff::Jj where\n", "Ff is the family name and Jj is the job name\n\n"); } my ($family_name, $job_name) = ($1, $2); my $log_dir = &TaskForest::LogDir::getLogDir($log_dir_root); if ($log_date =~ /^\d{8}$/) { $log_dir = "$log_dir_root/$log_date"; } &TaskForest::Release::release($family_name, $job_name, $log_dir, $family_dir); exit 0;