blob: f3bed023c37b3813281a7b7650f720eedca945a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#!/usr/bin/perl
use strict;
use warnings;
my @modules = qw(
http://github.com/rakudo/rakudo
http://github.com/jnthn/zavolaj
http://github.com/jnthn/blizkost
http://github.com/mberends/fakedbi
http://github.com/masak/svg
http://github.com/moritz/svg-plot
http://github.com/moritz/Math-RungeKutta
http://github.com/moritz/Math-Model
);
chdir 'dist' or die "Can't chdir to build dir: $!";
for my $m (@modules) {
my $git_url = $m;
$git_url =~ s/^http/git/;
$git_url .= '.git';
my $return = system 'git', 'clone', $git_url;
if ($return) {
if ($? == -1) {
warn "Error while running 'git clone $git_url': $?\n";
} else {
warn "Git returned unsuccessfully with return code "
. ($? >> 8) . "\n";
}
next;
}
}
# for projects of which we want to ship specific tags or branches
# the right-hand side can be anything that 'git checkout' accepts,
# so a branch name, tag name, sha1 sum, HEAD~3 ( not quite sane,
# but possible )
#
# XXX we want rakudo 2010.07 of course, but that will give an error now
my %tags = ( rakudo => '2010.06' );
while (my ($project, $version) = each %tags) {
chdir $project or die "Can't chdir to '$project': $!";
system('git', 'checkout', $version) == 0
or die "Can't git checkout $version: $?";
chdir '..' or die "Can't chdir back to dist/ folder: $!";
}
# TODO: copy docs, build scripts, whatever
|