The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

# 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