# dependencies are in the digest, no need to check them
if(-e $full_dependency)
{
unless(exists $tree->{__VIRTUAL})
{
# check via user defined sub
if(defined $trigger_rule)
{
my ($must_build, $why) = $trigger_rule->($tree, $full_name, $tree->{$dependency}, $full_dependency) ;
if($must_build)
{
push @{$tree->{__TRIGGERED}}, {NAME => $dependency, REASON => $why} ;
PrintInfo("$name: trigged on '$dependency' [$why]\n") if $pbs_config->{DEBUG_DISPLAY_TRIGGED_DEPENDENCIES} ;
$triggered++ ;
}
else
{
if($pbs_config->{DEBUG_DISPLAY_TRIGGED_DEPENDENCIES})
{
push @{$tree->{__NOT_TRIGGERED}}, [$dependency, 'user defined check was OK'] ;
PrintInfo("$name: NOT trigged on '$dependency'\n") if $pbs_config->{DEBUG_DISPLAY_TRIGGED_DEPENDENCIES} ;
}
}
}
}
}
else
{
unless(exists $tree->{$dependency}{__VIRTUAL})
{
push @{$tree->{__TRIGGERED}}, {NAME => $dependency, REASON => "Doesn't exist"} ;
PrintInfo("$name: trigged on '$dependency' (doesn't exist)\n") if $pbs_config->{DEBUG_DISPLAY_TRIGGED_DEPENDENCIES} ;
$triggered++ ;
my $digest_file_name = $full_dependency . 'pbs_md5' ;
if(-e $digest_file_name)
{
PrintWarning("Removing digest '$digest_file_name': node '$dependency->{__NAME}' doesn't exist.") ;
unlink($digest_file_name) ;
}
}
}
NAME
PBS::Check -
SYNOPSIS
use PBS::Check ;
my $triggered = CheckDependencyTree
(
$tree
, $inserted_nodes
, $pbs_config
, $config
, $trigger_rule
, $node_checker_rule
, $build_sequence # output
, $files_in_build_sequence # output
) ;
DESCRIPTION
sub RegisterUserCheckSub: exported function available in Pbsfiles
sub GetUserCheckSub
sub CheckDependencyTree: checks a tree and generates a build sequence
sub LocateSource: find a file in the build directory or source directories
sub CheckTimeStamp: check 2 nodes time stamps with each other
EXPORT
CheckDependencyTree
RegisterUserCheckSub
AUTHOR
Khemir Nadim ibn Hamouda. nadim@khemir.net
SEE ALSO
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 324:
Unknown directive: =comment
- Around line 338:
Unknown directive: =comment