diff options
author | Tom Feist <shabble@cowu.be> | 2010-07-24 18:04:17 +0000 |
---|---|---|
committer | Tom Feist <shabble@cowu.be> | 2010-07-24 18:04:17 +0000 |
commit | 5ad9608ab4c8e828ea979377ce94066a3f7ddccb (patch) | |
tree | 131e259d481c3e534a89943231272f454187746c /test/build_links.pl | |
parent | added some text files with various irssi perl-xs glue function dumps (diff) | |
download | irssi-scripts-5ad9608ab4c8e828ea979377ce94066a3f7ddccb.tar.gz irssi-scripts-5ad9608ab4c8e828ea979377ce94066a3f7ddccb.zip |
moved testing stuff to a signle dir
Diffstat (limited to 'test/build_links.pl')
-rwxr-xr-x | test/build_links.pl | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/test/build_links.pl b/test/build_links.pl new file mode 100755 index 0000000..daed67c --- /dev/null +++ b/test/build_links.pl @@ -0,0 +1,58 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use File::Find; +use File::Basename qw/basename/; +#use File::Spec (); +use Cwd qw/realpath/; + +use FindBin; + +my $scripts_dir = $FindBin::Bin . '/irssi/scripts'; +print "Cleanup....\n"; +find(\&cleanup, "irssi/scripts/"); +print "Scanning for new....\n"; +find(\&wanted, '../'); +print "Done\n"; + +sub cleanup { + my $file = $_; + my $path = $File::Find::name; + my $dir = $File::Find::dir; + + # only process symlinks + my $abs_path = realpath($path); #File::Spec->rel2abs($path); + return unless defined $abs_path; + return unless (-l $abs_path); + print "Thinking about deleting $path\n"; + +} + +sub wanted { + my $file = $_; + my $path = $File::Find::name; + my $dir = $File::Find::dir; + + my $abs_path = realpath($path); #File::Spec->rel2abs($path); + #$abs_path = File::Spec->canonpath($abs_path); + + return if $dir =~ /(?:test|docs)$/; + return unless $file =~ /\.pl$/; + return unless defined $abs_path; + return unless -f $abs_path; + + print "Thinking about $scripts_dir/$file => $abs_path\n"; + create_link($abs_path); +} + + +sub create_link { + my $target = shift; + my $name = basename($target); + my $link = $scripts_dir . '/' . $name; + + my $ret = symlink($target, $link); + die "link creation failed - T: $target, L: $link" unless $ret; +} |