Index: client/dom/scripts/dartdomgenerator.py |
diff --git a/client/dom/scripts/dartdomgenerator.py b/client/dom/scripts/dartdomgenerator.py |
index 4e8bc2a6a3fd8a77e6e45a747219dde0aa3f3e19..679536ba8fd09b2d6500c0430865c11bfc95a928 100755 |
--- a/client/dom/scripts/dartdomgenerator.py |
+++ b/client/dom/scripts/dartdomgenerator.py |
@@ -8,12 +8,14 @@ |
import dartgenerator |
import database |
import logging.config |
+import optparse |
import os |
import shutil |
import sys |
DOM_LIBRARY = 'dom.dart' |
DOM_DEFAULT_LIBRARY = 'wrapping_dom.dart' |
+DEFAULT_SYSTEM = 'wrapping' |
_logger = logging.getLogger('dartdomgenerator') |
@@ -31,7 +33,7 @@ _webkit_renames = { |
_webkit_renames_inverse = dict((v,k) for k, v in _webkit_renames.iteritems()) |
-def GenerateDOM(output_dir): |
+def GenerateDOM(systems, output_dir): |
# TODO(sra): Make this entry point also generate HTML. |
current_dir = os.path.dirname(__file__) |
@@ -79,19 +81,35 @@ def GenerateDOM(output_dir): |
source_filter = ['WebKit', 'Dart'], |
super_database = common_database, |
common_prefix = 'common', |
- super_map = _webkit_renames_inverse) |
+ super_map = _webkit_renames_inverse, |
+ systems = systems) |
generator.Flush() |
- # Install default DOM library. |
- default = os.path.join(output_dir, DOM_DEFAULT_LIBRARY) |
- target = os.path.join(output_dir, DOM_LIBRARY) |
- shutil.copyfile(default, target) |
- |
def main(): |
+ parser = optparse.OptionParser() |
+ parser.add_option('--systems', dest='systems', |
+ action='store', type='string', |
+ default='frog,wrapping', |
+ help='Systems to generate (frog, native, wrapping)') |
+ parser.add_option('--output-dir', dest='output_dir', |
+ action='store', type='string', |
+ default=None, |
+ help='Directory to put the generated files') |
+ (options, args) = parser.parse_args() |
+ |
current_dir = os.path.dirname(__file__) |
+ output_dir = options.output_dir or os.path.join(current_dir, '..') |
+ systems = options.systems.split(',') |
+ |
logging.config.fileConfig(os.path.join(current_dir, 'logging.conf')) |
- GenerateDOM(os.path.join(current_dir, '..')) |
+ GenerateDOM(systems, output_dir) |
+ |
+ if DEFAULT_SYSTEM in systems: |
+ # Install default DOM library. |
+ default = os.path.join(output_dir, DOM_DEFAULT_LIBRARY) |
+ target = os.path.join(output_dir, DOM_LIBRARY) |
+ shutil.copyfile(default, target) |
if __name__ == '__main__': |
sys.exit(main()) |