summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/util/mac-crawl-build-update-cdo
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2011-01-29 10:58:12 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2011-01-29 10:58:12 +0530
commitddca1db22c8931be5f279eedb53fb2fc68779b60 (patch)
tree845162856cb6870dc0a6edfb3484a146dcecfb6a /crawl-ref/source/util/mac-crawl-build-update-cdo
parent7639f16f4fd4355bd736667e27e5ea94a85634ea (diff)
downloadcrawl-ref-ddca1db22c8931be5f279eedb53fb2fc68779b60.tar.gz
crawl-ref-ddca1db22c8931be5f279eedb53fb2fc68779b60.zip
Fixes to the Mac build+upload script.
This should be replaced by a makefile eventually.
Diffstat (limited to 'crawl-ref/source/util/mac-crawl-build-update-cdo')
-rwxr-xr-xcrawl-ref/source/util/mac-crawl-build-update-cdo55
1 files changed, 43 insertions, 12 deletions
diff --git a/crawl-ref/source/util/mac-crawl-build-update-cdo b/crawl-ref/source/util/mac-crawl-build-update-cdo
index 9e15dd2dd7..f7e1efadf2 100755
--- a/crawl-ref/source/util/mac-crawl-build-update-cdo
+++ b/crawl-ref/source/util/mac-crawl-build-update-cdo
@@ -10,6 +10,7 @@ use strict;
use warnings;
use Cwd;
+use Getopt::Long;
my $CRAWLDIR;
@@ -26,6 +27,12 @@ my $REMOTE_HOST = 'crawl@crawl.develz.org';
my $SCP_PATH = "$REMOTE_HOST:/var/www/crawl.develz.org/htdocs/trunk";
my $CURRENTVERSION;
+my $SKIP_BUILD;
+my $SCP;
+GetOptions("skip-build" => \$SKIP_BUILD,
+ "scp" => \$SCP)
+ or die "Bad command line\n";
+
sub main() {
$CRAWLDIR = discover_crawl_dir();
goto_dir($CRAWLDIR);
@@ -33,22 +40,39 @@ sub main() {
my $last_build_version = last_build_version();
update_git();
$CURRENTVERSION = current_version();
- if (!$last_build_version || $last_build_version ne $CURRENTVERSION) {
- if ($last_build_version) {
- say("[INFO] Last build: $last_build_version; current: $CURRENTVERSION");
- }
- else {
- say("[INFO] Current version: $CURRENTVERSION");
+
+ my $need_build =
+ !$last_build_version || $last_build_version ne $CURRENTVERSION;
+
+ my $did_build;
+ my $did_scp;
+ if ($need_build) {
+ if (!$SKIP_BUILD) {
+ if ($last_build_version) {
+ say("[INFO] Last build: $last_build_version; current: $CURRENTVERSION");
+ } else {
+ say("[INFO] Current version: $CURRENTVERSION");
+ }
+ build_crawl();
+ $did_build = 1;
+ package_build();
+ save_build_version($CURRENTVERSION);
}
- build_crawl();
- my @binaries = package_build();
+ }
+
+ if ($need_build || $SCP) {
+ my @binaries = find_uploadable_binaries();
print("Zips: @binaries\n");
upload_binaries(@binaries);
-
- save_build_version($CURRENTVERSION);
+ $did_scp = 1;
}
- else {
- say("[INFO] $CURRENTVERSION already built, nothing to do");
+
+ if (!$did_build && !$did_scp) {
+ if (!$need_build) {
+ say("[INFO] $CURRENTVERSION already built, nothing to do");
+ } else {
+ say("[INFO] Nothing to do");
+ }
}
}
@@ -158,6 +182,13 @@ sub package_build() {
return create_app_zips();
}
+sub find_uploadable_binaries() {
+ my $zipglob = sprintf("$ZIPDIR/$ZIPNAMEFMT", "*", "*");
+ my @zips = glob($zipglob);
+ @zips == 2 or die "[ERR] Can't find zips to upload: $zipglob\n";
+ @zips
+}
+
sub scp($$) {
my ($src, $targ) = @_;
sys_check("scp $src $targ");