tools/buildbot/package.pl
author Ruben Gonzalez <drifter01620@gmail.com>
Thu May 22 09:49:27 2014 -0400 (2014-05-22)
changeset 4378 568f4497ef4a
parent 4273 cfa2b2260f42
permissions -rwxr-xr-x
Update CS:GO team score gamedata.
dvander@2261
     1
#!/usr/bin/perl
dvander@2261
     2
dvander@2261
     3
use strict;
dvander@2261
     4
use Cwd;
dvander@2261
     5
use File::Basename;
dvander@2261
     6
use Net::FTP;
dvander@2261
     7
ds@3267
     8
my ($ftp_file, $ftp_host, $ftp_user, $ftp_pass, $ftp_path, $tag);
dvander@2262
     9
dvander@2262
    10
$ftp_file = shift;
ds@3267
    11
$tag = shift;
dvander@2261
    12
dvander@2262
    13
open(FTP, $ftp_file) or die "Unable to read FTP config file $ftp_file: $!\n";
dvander@2262
    14
$ftp_host = <FTP>;
dvander@2262
    15
$ftp_user = <FTP>;
dvander@2262
    16
$ftp_pass = <FTP>;
dvander@2262
    17
$ftp_path = <FTP>;
dvander@2262
    18
close(FTP);
dvander@2262
    19
dvander@2262
    20
chomp $ftp_host;
dvander@2262
    21
chomp $ftp_user;
dvander@2262
    22
chomp $ftp_pass;
dvander@2262
    23
chomp $ftp_path;
dvander@2261
    24
dvander@2261
    25
my ($myself, $path) = fileparse($0);
dvander@2261
    26
chdir($path);
dvander@2261
    27
dvander@2261
    28
require 'helpers.pm';
dvander@2261
    29
dvander@2261
    30
#Switch to the output folder.
dvander@2783
    31
chdir(Build::PathFormat('../../../OUTPUT/package'));
dvander@2261
    32
dvander@2261
    33
my ($version);
dvander@2261
    34
dvander@2783
    35
$version = Build::ProductVersion(Build::PathFormat('../../build/product.version'));
dvander@2783
    36
$version =~ s/-dev//g;
dvander@2783
    37
$version .= '-hg' . Build::HgRevNum('../../build');
dvander@2261
    38
ds@2994
    39
# Append OS to package version
ds@2994
    40
if ($^O eq "darwin")
ds@2994
    41
{
ds@2994
    42
    $version .= '-mac';
ds@2994
    43
}
ds@2995
    44
elsif ($^O =~ /MSWin/)
ds@2995
    45
{
ds@2995
    46
    $version .= '-windows';
ds@2995
    47
}
ds@2994
    48
else
ds@2994
    49
{
ds@2994
    50
    $version .= '-' . $^O;
ds@2994
    51
}
ds@2994
    52
ds@3267
    53
if (defined $tag)
ds@3267
    54
{
ds@3267
    55
	$version .= '-' . $tag;
ds@3267
    56
}
ds@3267
    57
dvander@2261
    58
my ($filename);
dvander@2261
    59
$filename = 'sourcemod-' . $version;
dvander@2261
    60
if ($^O eq "linux")
dvander@2261
    61
{
dvander@2261
    62
    $filename .= '.tar.gz';
dvander@2261
    63
    print "tar zcvf $filename addons cfg\n";
dvander@2261
    64
    system("tar zcvf $filename addons cfg");
dvander@2261
    65
}
dvander@2261
    66
else
dvander@2261
    67
{
dvander@2261
    68
    $filename .= '.zip';
dvander@2261
    69
    print "zip -r $filename addons cfg\n";
dvander@2261
    70
    system("zip -r $filename addons cfg");
dvander@2261
    71
}
dvander@2261
    72
dvander@2261
    73
my ($major,$minor) = ($version =~ /^(\d+)\.(\d+)/);
dvander@2261
    74
$ftp_path .= "/$major.$minor";
dvander@2261
    75
dvander@2261
    76
my ($ftp);
dvander@2261
    77
ds@4273
    78
$ftp = Net::FTP->new($ftp_host, Debug => 0, Passive => 1) 
dvander@2261
    79
    or die "Cannot connect to host $ftp_host: $@";
dvander@2261
    80
dvander@2261
    81
$ftp->login($ftp_user, $ftp_pass)
dvander@2261
    82
    or die "Cannot connect to host $ftp_host as $ftp_user: " . $ftp->message . "\n";
dvander@2261
    83
dvander@2261
    84
if ($ftp_path ne '')
dvander@2261
    85
{
dvander@2261
    86
    $ftp->cwd($ftp_path)
dvander@2261
    87
        or die "Cannot change to folder $ftp_path: " . $ftp->message . "\n";
dvander@2261
    88
}
dvander@2261
    89
dvander@2261
    90
$ftp->binary();
dvander@2261
    91
$ftp->put($filename)
dvander@2261
    92
    or die "Cannot drop file $filename ($ftp_path): " . $ftp->message . "\n";
dvander@2261
    93
dvander@2261
    94
$ftp->close();
dvander@2261
    95
dvander@2261
    96
print "File sent to drop site as $filename -- build succeeded.\n";
dvander@2261
    97
dvander@2261
    98
exit(0);
dvander@2261
    99