=pod =head1 EXPORTS =over 4 =cut =pod =item B Returns the root of the build cache directory, where temporary files are stored during a build, and retained for later builds in order to improve speed. Must not be on a separate host, or mis-sync may occur. =cut sub build_cache_root() { return '/home/mike/var/build'; } # uses only subdirectory 'votorola', normally =pod =item B A custom target of mine that outputs additional files for the project Web site. (You won't need this yourself. But it shows how to define your own build target.) =cut sub build_target_home() { use votorola::a::build::FileSync qw( $from_dir sync_found $to_dir ); print call_stack_indentation() . "home\n"; $from_dir = '/home/mike/code/votorola/x/config/votorola'; $to_dir = ensure_dir( out_dir() . '/votorola'); File::Find::find( {follow_fast=>1, no_chdir=>1, wanted=>\&sync_found}, $from_dir ); } =pod =item B Returns the directory to which files are finally output. The entire directory is deleted by 'build clean'. =cut sub out_dir() { my $dir; if( target_subserver() eq 'dev' ) { $dir = '/home/mike/var/deploy/votorola'; } elsif( target_subserver() eq 'off' ) { -d '/mnt/lan/www/tmp' or die "not mounted: " . target_subserver(); $dir = '/mnt/lan/www/tmp/votorola-build'; } elsif( target_subserver() eq 'on' ) { -d '/mnt/lan/www/home/v/var/build' or die "not mounted: " . target_subserver(); $dir = '/mnt/lan/www/home/v/var/build/votorola'; } else { die; } return $dir; } =pod =item B Returns the build target subserver. =cut sub target_subserver() { return 'dev'; # tester@obsidian development subserver ## Building to these? Best use old build first, to unmount list and counts. ## Best shut down vomailrd, or runtime code change will likely kill it. ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # return 'off'; # tester@t off-line subserver # return 'on'; # v@t on-line subserver } =pod =back =cut 1;