amxmodx/support/buildbot/bootstrap.pl

65 lines
1.8 KiB
Perl
Raw Normal View History

#!/usr/bin/perl
use strict;
use Cwd;
use File::Basename;
my ($myself, $path) = fileparse($0);
chdir($path);
require 'helpers.pm';
#Go to main source dir
chdir(Build::PathFormat('../..'));
#Do the annoying revision bumping.
#Linux needs some help here.
if ($^O eq "linux" || $^O eq "darwin")
{
Build::Command("flip -u modules.versions");
Build::Command("flip -u support/versionchanger.pl");
Build::Command("chmod +x support/versionchanger.pl");
}
Build::Command(Build::PathFormat('support/versionchanger.pl') . ' --buildstring="-dev"');
my $DEVENV = "C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe";
#Build the amxmodx builder tool.
chdir('installer/builder');
if ($^O eq "linux" || $^O eq "darwin") {
Build::Command("make");
} else {
Build::Command("\"$DEVENV\" builder.csproj /p:Configuration=Release /t:Rebuild");
}
if (!(-f 'builder.exe')) {
die "Could not find build tool.\n";
}
chdir('../..');
if (-d '../OUTPUT') {
Build::Delete(Cwd::abs_path('../OUTPUT'));
}
2010-04-05 03:42:24 +04:00
Build::Command("mkdir " . Build::PathFormat('../OUTPUT'));
#Output directions on how to build.
open(DIRECTIONS, '>installer/builder/directions.info');
if ($^O eq "linux") {
print DIRECTIONS "compress = /bin/tar\n";
} elsif ($^O eq "darwin") {
print DIRECTIONS "compress = /usr/bin/zip\n";
} else {
print DIRECTIONS "compress = C:\\WINDOWS\\zip.exe\n";
}
print DIRECTIONS "source = " . Cwd::abs_path('.') . "\n";
print DIRECTIONS "makeopts = \n";
print DIRECTIONS "output = " . Cwd::abs_path('../OUTPUT') . "\n";
if ($^O eq "linux" || $^O eq "darwin") {
print DIRECTIONS "devenv = /usr/bin/make\n";
} else {
print DIRECTIONS "devenv = $DEVENV\n";
}
print DIRECTIONS "release = amxmodx-" . Build::ProductVersion('product.version') .
"-hg" . Build::HgRevNum('.') . "\n";
close(DIRECTIONS);