| Index: sdk/lib/html/scripts/idlsync.py
|
| diff --git a/sdk/lib/html/scripts/idlsync.py b/sdk/lib/html/scripts/idlsync.py
|
| deleted file mode 100755
|
| index ba4c4eeb3b80046986a0fa10942bb8b63f56975b..0000000000000000000000000000000000000000
|
| --- a/sdk/lib/html/scripts/idlsync.py
|
| +++ /dev/null
|
| @@ -1,119 +0,0 @@
|
| -#!/usr/bin/python
|
| -# Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -# for details. All rights reserved. Use of this source code is governed by a
|
| -# BSD-style license that can be found in the LICENSE file.
|
| -
|
| -import optparse
|
| -import os
|
| -import os.path
|
| -import re
|
| -import shutil
|
| -import subprocess
|
| -import sys
|
| -
|
| -SCRIPT_PATH = os.path.abspath(os.path.dirname(__file__))
|
| -DART_PATH = os.path.abspath(os.path.join(SCRIPT_PATH, '..', '..', '..', '..'))
|
| -
|
| -# Path to install latest IDL.
|
| -IDL_PATH = os.path.join(DART_PATH, 'third_party', 'WebCore')
|
| -
|
| -# Whitelist of files to keep.
|
| -WHITELIST = [
|
| - r'LICENSE(\S+)',
|
| - r'(\S+)\.idl']
|
| -
|
| -# README file to generate.
|
| -README = os.path.join(IDL_PATH, 'README')
|
| -
|
| -# SVN URL to latest Dartium version of WebKit.
|
| -DEPS = 'http://dart.googlecode.com/svn/branches/bleeding_edge/deps/dartium.deps/DEPS'
|
| -URL_PATTERN = r'"dartium_webkit_trunk": "(\S+)",'
|
| -REV_PATTERN = r'"dartium_webkit_revision": "(\d+)",'
|
| -WEBCORE_SUBPATH = 'Source/WebCore'
|
| -
|
| -
|
| -def RunCommand(cmd):
|
| - """Executes a shell command and return its stdout."""
|
| - print ' '.join(cmd)
|
| - pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
| - output = pipe.communicate()
|
| - if pipe.returncode == 0:
|
| - return output[0]
|
| - else:
|
| - print output[1]
|
| - print 'FAILED. RET_CODE=%d' % pipe.returncode
|
| - sys.exit(pipe.returncode)
|
| -
|
| -
|
| -def GetWebkitSvnRevision():
|
| - """Returns a tuple with the (dartium webkit repo, latest revision)."""
|
| - deps = RunCommand(['svn', 'cat', DEPS])
|
| - url = re.search(URL_PATTERN, deps).group(1)
|
| - revision = re.search(REV_PATTERN, deps).group(1)
|
| - return (url, revision)
|
| -
|
| -
|
| -def RefreshIDL(url, revision):
|
| - """Refreshes the IDL to specific WebKit url / revision."""
|
| - cwd = os.getcwd()
|
| - try:
|
| - shutil.rmtree(IDL_PATH)
|
| - os.chdir(os.path.dirname(IDL_PATH))
|
| - RunCommand(['svn', 'export', '-r', revision, url + '/' + WEBCORE_SUBPATH])
|
| - finally:
|
| - os.chdir(cwd)
|
| -
|
| -
|
| -def PruneExtraFiles():
|
| - """Removes all files that do not match the whitelist."""
|
| - pattern = re.compile(reduce(lambda x,y: '%s|%s' % (x,y),
|
| - map(lambda z: '(%s)' % z, WHITELIST)))
|
| - for (root, dirs, files) in os.walk(IDL_PATH, topdown=False):
|
| - for f in files:
|
| - if not pattern.match(f):
|
| - os.remove(os.path.join(root, f))
|
| - for d in dirs:
|
| - dirpath = os.path.join(root, d)
|
| - if not os.listdir(dirpath):
|
| - shutil.rmtree(dirpath)
|
| -
|
| -
|
| -def ParseOptions():
|
| - parser = optparse.OptionParser()
|
| - parser.add_option('--revision', '-r', dest='revision',
|
| - help='Revision to install', default=None)
|
| - args, _ = parser.parse_args()
|
| - return args.revision
|
| -
|
| -
|
| -def GenerateReadme(url, revision):
|
| - readme = """This directory contains a copy of WebKit/WebCore IDL files.
|
| -See the attached LICENSE-* files in this directory.
|
| -
|
| -Please do not modify the files here. They are periodically copied
|
| -using the script: $DART_ROOT/sdk/lib/html/scripts/%(script)s
|
| -
|
| -The current version corresponds to:
|
| -URL: %(url)s
|
| -Current revision: %(revision)s
|
| -""" % {
|
| - 'script': os.path.basename(__file__),
|
| - 'url': url,
|
| - 'revision': revision }
|
| - out = open(README, 'w')
|
| - out.write(readme)
|
| - out.close()
|
| -
|
| -
|
| -def main():
|
| - revision = ParseOptions()
|
| - url, latest = GetWebkitSvnRevision()
|
| - if not revision:
|
| - revision = latest
|
| - RefreshIDL(url, revision)
|
| - PruneExtraFiles()
|
| - GenerateReadme(url, revision)
|
| -
|
| -
|
| -if __name__ == '__main__':
|
| - main()
|
|
|