Update ANGLE
[WebKit-https.git] / Tools / Scripts / update-webkit
1 #!/usr/bin/env perl
2
3 # Copyright (C) 2005-2009, 2013, 2014 Apple Inc. All rights reserved.
4 # Copyright (C) 2009 Google Inc. All rights reserved.
5 # Copyright (C) 2011 Brent Fulgham. All rights reserved.
6 #
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
9 # are met:
10 #
11 # 1.  Redistributions of source code must retain the above copyright
12 #     notice, this list of conditions and the following disclaimer. 
13 # 2.  Redistributions in binary form must reproduce the above copyright
14 #     notice, this list of conditions and the following disclaimer in the
15 #     documentation and/or other materials provided with the distribution. 
16 # 3.  Neither the name of Apple Inc. ("Apple") nor the names of
17 #     its contributors may be used to endorse or promote products derived
18 #     from this software without specific prior written permission. 
19 #
20 # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
21 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 # DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
24 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
27 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31 # Update script for WebKit Open Source Project.
32
33 use strict;
34 use warnings;
35 use FindBin;
36 use lib $FindBin::Bin;
37 use File::Basename;
38 use File::Spec;
39 use Getopt::Long;
40 use VCSUtils;
41 use webkitdirs;
42
43 # Handle options
44 my $quiet = '';
45 my $showHelp;
46
47 chdirWebKit();
48
49 my $getOptionsResult = GetOptions(
50     'h|help'  => \$showHelp,
51     'q|quiet' => \$quiet,
52 );
53
54 if (!$getOptionsResult || $showHelp) {
55     print STDERR <<__END__;
56 Usage: @{[ basename($0) ]} [options]
57   -h|--help                 show the help message
58   -q|--quiet                pass -q to svn update for quiet updates
59 __END__
60     exit 1;
61 }
62
63 my @svnOptions = ();
64 push @svnOptions, '-q' if $quiet;
65
66 # Don't prompt when using svn-1.6 or newer.
67 push @svnOptions, qw(--accept postpone) if isSVNVersion16OrNewer();
68
69 print "Updating OpenSource\n" unless $quiet;
70 runSvnUpdateAndResolveChangeLogs(@svnOptions) if isSVN();
71 runGitUpdate() if isGit();
72
73 exit 0;