[Collab-qa-commits] r723 - svnbuildstat/trunk/lib/SvnBuildStat

goneri-guest at alioth.debian.org goneri-guest at alioth.debian.org
Sun Feb 17 22:41:21 UTC 2008


Author: goneri-guest
Date: 2008-02-17 22:41:20 +0000 (Sun, 17 Feb 2008)
New Revision: 723

Modified:
   svnbuildstat/trunk/lib/SvnBuildStat/Common.pm
Log:
add getBuildDirectory()

Modified: svnbuildstat/trunk/lib/SvnBuildStat/Common.pm
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/Common.pm	2008-02-17 22:40:02 UTC (rev 722)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Common.pm	2008-02-17 22:41:20 UTC (rev 723)
@@ -279,8 +279,57 @@
   return $ret;
 }
 
+sub getSourceDirectory {
+    my $changelogentry = shift;
 
+    my $cfg = Config::IniFiles->new( -file => "../svnbuildstat.ini" ) or die "can't load config file";
+    my $repositoryurl = $cfg->val('path', 'repositoryurl');
+    my $repositorydir = $cfg->val('path', 'repositorydir');
 
 
+    my $path = '/'.$$changelogentry->repositoryentry_id->repository_id->team_id->shortname.'/'.$$changelogentry->repositoryentry_id->sourcepackage_id->name.'/'.$$changelogentry->repositoryentry_id->changelogentry_id->id;
 
+    recurseMkdir($repositorydir.$path);
+    
+    my $ret = { 
+        url => $repositoryurl.$path,
+        dir => $repositorydir.$path
+    };
+
+    return $ret;
+
+}
+# return the local directory where to store the files created after a build
+sub getBuildDirectory {
+    my $build = shift;
+
+    my $cfg = Config::IniFiles->new( -file => "../svnbuildstat.ini" ) or die "can't load config file";
+    my $repositoryurl = $cfg->val('path', 'repositoryurl');
+    my $repositorydir = $cfg->val('path', 'repositorydir');
+
+
+    my $path = '/'.$$build->changelogentry_id->repositoryentry_id->repository_id->team_id->shortname.'/'.$$build->changelogentry_id->repositoryentry_id->sourcepackage_id->name.'/'.$$build->changelogentry_id->repositoryentry_id->changelogentry_id->id.'/build/'.$$build->id;
+
+    recurseMkdir($repositorydir.$path);
+
+    my $ret = { 
+        url => $repositoryurl.$path,
+        dir => $repositorydir.$path
+    };
+
+    return $ret;
+}
+
+sub recurseMkdir {
+    my $dir = shift;
+
+    my $t;
+    foreach ((split '/', $dir)) {
+        $t .= "/".$_;
+        mkdir $t unless -d $t;
+    }
+
+}
+
+
 1;




More information about the Collab-qa-commits mailing list