diff options
author | Upstream <upstream-import@none> | 1970-01-12 13:46:40 +0000 |
---|---|---|
committer | Upstream <upstream-import@none> | 1970-01-12 13:46:40 +0000 |
commit | d8543bb6618c17b12da906afa77d216f58cf4058 (patch) | |
tree | c58dc05ed86825bd0ef8d305d58c8205106b540f /WebKitTools/Scripts/update-iexploder-cssproperties | |
download | external_webkit-d8543bb6618c17b12da906afa77d216f58cf4058.zip external_webkit-d8543bb6618c17b12da906afa77d216f58cf4058.tar.gz external_webkit-d8543bb6618c17b12da906afa77d216f58cf4058.tar.bz2 |
external/webkit r30707
Diffstat (limited to 'WebKitTools/Scripts/update-iexploder-cssproperties')
-rwxr-xr-x | WebKitTools/Scripts/update-iexploder-cssproperties | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/WebKitTools/Scripts/update-iexploder-cssproperties b/WebKitTools/Scripts/update-iexploder-cssproperties new file mode 100755 index 0000000..b7ae6cb --- /dev/null +++ b/WebKitTools/Scripts/update-iexploder-cssproperties @@ -0,0 +1,112 @@ +#!/usr/bin/perl + +# Copyright (C) 2007 Apple Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. Neither the name of Apple Inc. ("Apple") nor the names of +# its contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# This script updates WebKitTools/iExploder/htdocs/cssproperties.in based on +# WebCore/css/CSSPropertyNames.in. + +use warnings; +use strict; + +use FindBin; +use lib $FindBin::Bin; +use webkitdirs; + +use File::Spec; + +sub generateSectionFromCSSPropertyNamesFile(); +sub readiExploderFile(); +sub svnRevision($); +sub writeiExploderFile(); + +my $iExploderFile = File::Spec->catfile(sourceDir(), split("/", "WebKitTools/iExploder/htdocs/cssproperties.in")); +my $cssPropertyNamesFile = File::Spec->catfile(sourceDir(), split("/", "WebCore/css/CSSPropertyNames.in")); + +my @sections = readiExploderFile(); +$sections[0] = generateSectionFromCSSPropertyNamesFile(); +writeiExploderFile(); + +print `svn stat $iExploderFile`; +print "Successfully updated!\n"; + +exit 0; + +sub generateSectionFromCSSPropertyNamesFile() +{ + my $revision = svnRevision($cssPropertyNamesFile); + my $path = File::Spec->abs2rel($cssPropertyNamesFile, sourceDir()); + my $result = "# From WebKit svn r" . $revision . " (" . $path . ")\n"; + + my @properties = (); + + open(IN, $cssPropertyNamesFile) || die "$!"; + while (my $l = <IN>) { + chomp $l; + next if $l =~ m/^\s*#/ || $l =~ m/^\s*$/; + push(@properties, $l); + } + close(IN); + + $result .= join("\n", sort { $a cmp $b } @properties) . "\n\n"; + + return $result; +} + +sub readiExploderFile() +{ + my @sections = (); + local $/ = "\n\n"; + + open(IN, $iExploderFile) || die "$!"; + @sections = <IN>; + close(IN); + + return @sections; +} + +sub svnRevision($) +{ + my ($file) = @_; + my $revision = ""; + + open INFO, "svn info '$file' |" or die; + while (<INFO>) { + if (/^Revision: (.+)/) { + $revision = $1; + } + } + close INFO; + + return $revision ? $revision : "UNKNOWN"; +} + +sub writeiExploderFile() +{ + open(OUT, "> $iExploderFile") || die "$!"; + print OUT join("", @sections); + close(OUT); +} |