From 7ddb451414e9fe093083680fed9a5065d3a9d788 Mon Sep 17 00:00:00 2001 From: SvenDowideit Date: Mon, 28 Jun 2010 01:46:29 +0000 Subject: [PATCH] Item9206: BuildContrib un-necessarily assumes unix paths as input git-svn-id: http://svn.foswiki.org/trunk@7944 0b4bb1d4-4e5a-0410-9cc4-b2b747904278 --- BuildContrib/lib/Foswiki/Contrib/Build.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/BuildContrib/lib/Foswiki/Contrib/Build.pm b/BuildContrib/lib/Foswiki/Contrib/Build.pm index 18e59d56ea..881732bcc0 100644 --- a/BuildContrib/lib/Foswiki/Contrib/Build.pm +++ b/BuildContrib/lib/Foswiki/Contrib/Build.pm @@ -89,14 +89,13 @@ $ENV{'LC_ALL'} = 'C'; sub _findRelativeTo { my ( $startdir, $name ) = @_; - my @path = split( /\/+/, $startdir ); + my @path = split( /[\/\\]+/, $startdir ); while ( scalar(@path) > 0 ) { my $found = join( '/', @path ) . '/' . $name; return $found if -e $found; pop(@path); } - #try legacy TWiki Contrib $startdir =~ s/\/Foswiki\//\/TWiki\//g; @path = split( /\/+/, $startdir ); @@ -405,8 +404,11 @@ sub _loadConfig { use vars qw($VAR1); if ( !defined $this->{config} ) { - if ( -r "$ENV{HOME}/.buildcontrib" ) { - do "$ENV{HOME}/.buildcontrib"; + #TODO: this really should be abstracted + my $configLocation = $this->{libdir}; #default to leave one in each contrib - used for windows atm + $configLocation = $ENV{HOME} if (defined($ENV{HOME})); + if ( -r "$configLocation/.buildcontrib" ) { + do "$configLocation/.buildcontrib"; $this->{config} = $VAR1; print "Loaded config from $this->{config}->{file}\n"; } @@ -414,7 +416,7 @@ sub _loadConfig { } unless ( $this->{config} ) { $this->{config} = { - file => "$ENV{HOME}/.buildcontrib", + file => "$configLocation/.buildcontrib", passwords => {}, repositories => {}, };