=head1 Plugin ExpandObjects
Expand /objects in %DEPENDENCY_LIST_EXPANDED
=cut
use PBS::Output;
use PBS::SubpbsResult ;
use Data::TreeDumper ;
#-------------------------------------------------------------------------------
sub EvaluateShellCommand
{
my ($shell_command_ref, $tree, $dependencies, $triggered_dependencies) = @_ ;
#~ PrintDebug "$$shell_command_ref\n" ;
if($$shell_command_ref =~ /([^\s]+)?\%DEPENDENCY_LIST_EXPANDED/)
{
my $expanded_dependency_list = '' ;
for my $dependency (@$dependencies)
{
if($dependency =~ /\.objects$/)
{
$expanded_dependency_list .= ' ' . join(' ', GetFiles(new PBS::SubpbsResult($dependency))) ;
}
else
{
$expanded_dependency_list .= ' ' . $dependency ;
}
}
$$shell_command_ref =~ s/\%DEPENDENCY_LIST_EXPANDED/$expanded_dependency_list/g ;
}
#~ PrintDebug " => $$shell_command_ref\n\n" ;
}
sub GetFiles
{
# extract files from fileAndMd5 class
my ($subpbs_result) = @_ ;
return
(
map{$_->{FILE}} @{ $subpbs_result->GetFileAndMd5()}
) ;
}
#-------------------------------------------------------------------------------
1 ;