Archived
1
0
Fork 0

moulette_get: Merge receive_tar and receive_git

This commit is contained in:
Mercier Pierre-Olivier 2013-10-18 09:11:43 +02:00
parent 9fa9251590
commit 9866ecde45

View file

@ -15,10 +15,9 @@ use ACU::Log;
use ACU::Process;
my %actions = (
"tar" => \&receive_tar,
"git" => \&receive_git,
"std" => \&receive_std, #STuDent
"ref" => \&receive_ref,
"tests" => \&create_testsuite,
"moulette" => \&moulette,
);
@ -90,35 +89,7 @@ sub receive_ref
remove_tree($tempdir);
}
sub receive_tar
{
my $args = shift;
my $project_id = $args->{param}{id};
my $year = $args->{param}{year};
my $rendu = $args->{param}{rendu};
my $file = $args->{param}{file};
my $login = $args->{param}{login} // "ref";
croak "No file named '$file' given" if (!exists $args->{files}{$file});
my ($fh, $filename) = tempfile(DIR => '/data/tmp', SUFFIX => $file);
binmode($fh);
print $fh $args->{files}{$file};
close $fh;
chmod 0644, $filename;
my $destdir = ( prepare_dir($year, $project_id, $rendu) )[0];
fact_exec("package create $filename $destdir/$login.ff", $destdir);
croak "Cannot create $login.ff" if ($?);
chmod 0666, "$destdir/$login.ff";
# Clean
unlink $filename;
run_moulette($project_id, $year, $rendu, $login);
}
sub receive_git
sub receive_std
{
my $args = shift;
my $project_id = $args->{param}{id};
@ -137,7 +108,7 @@ sub receive_git
croak "An error occurs while extracting the tarball" if ($?);
my $destdir = ( prepare_dir($year, $project_id, $rendu) )[0];
fact_exec("package create $tempdir $destdir/$login.ff", $destdir);
fact_exec("package create '$tempdir' '$destdir/$login.ff'", $destdir);
croak "Cannot create $login.ff" if ($?);
chmod 0666, "$destdir/$login.ff";