office-gobmx/solenv/bin/subsequenttests
2011-03-28 02:44:49 +02:00

80 lines
2.5 KiB
Text
Executable file

eval 'exec "$PERL" -Sw "$0" "$@"'
if 0;
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# Copyright 2000, 2010 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
#
# This file is part of OpenOffice.org.
#
# OpenOffice.org is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# only, as published by the Free Software Foundation.
#
# OpenOffice.org is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License version 3 for more details
# (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU Lesser General Public License
# version 3 along with OpenOffice.org. If not, see
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
#***********************************************************************/
use lib("$ENV{SOLARENV}/bin/modules");
my $keep_going = 0;
my $dry_run = 0;
my $max_running = 1;
while (@ARGV) {
my $arg = shift(@ARGV);
if ($arg =~ /^-P([1-9]\d*)$/) {
$max_running = $1;
} elsif ($arg eq '--') {
last;
} else {
my $n = substr($arg, 0, 1) eq '-' ? 1 : 0;
while ($n && $n < length($arg)) {
my $c = substr($arg, $n++, 1);
if ($c eq 'k') {
$keep_going = 1;
} elsif ($c eq 'n') {
$dry_run = 1;
} else {
$n = 0;
last;
}
}
if (!$n) {
print STDERR "unknown argument \"$arg\"\n";
print STDERR "usage: $0 [-kn] [-P<n>]\n";
print STDERR " -k continue upon failure\n";
print STDERR " -n write directories that would be processed\n";
print STDERR " to standard output (defunct) \n";
print STDERR " -P<n> number of parallel invocations\n";
exit(1);
}
}
}
my $module;
my $gbuildpath = "$ENV{'SOLARSRC'}/GNUmakefile.mk";
my @failedpaths = ();
my @gbuildargs = ("-j$max_running", "-s");
if ($keep_going) {
push(@gbuildargs,"-k");
}
push(@gbuildargs, "--file=$gbuildpath");
push(@gbuildargs, "subsequentcheck");
if (system($ENV{'GNUMAKE'}, @gbuildargs) != 0) {
push(@failedpaths,$gbuildpath);
}
exit(scalar(@failedpaths) == 0 ? 0 : 1);