From d30be0fb936c3e2c01ffdf4edd2e3fd3028b68f4 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sat, 27 Oct 2012 19:52:53 +0200 Subject: [PATCH] Merge bin/generate-requireall into build.py --- bin/generate-requireall | 32 -------------------------------- build.py | 13 +++++++++++-- 2 files changed, 11 insertions(+), 34 deletions(-) delete mode 100755 bin/generate-requireall diff --git a/bin/generate-requireall b/bin/generate-requireall deleted file mode 100755 index aa921f451d..0000000000 --- a/bin/generate-requireall +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python - -from optparse import OptionParser -import os -import os.path -import re -import sys - - -def main(argv): - - option_parser = OptionParser() - option_parser.add_option('--require', action='append') - options, args = option_parser.parse_args(argv[1:]) - - requires = set(options.require or ()) - for arg in args: - for dirpath, dirnames, filenames in os.walk(arg): - for filename in filenames: - if not filename.endswith('.js'): - continue - for line in open(os.path.join(dirpath, filename)): - m = re.match(r'goog\.provide\(\'(.*)\'\);', line) - if m: - requires.add(m.group(1)) - - for require in sorted(requires): - sys.stdout.write('goog.require(\'%s\');\n' % (require,)) - - -if __name__ == '__main__': - sys.exit(main(sys.argv)) diff --git a/build.py b/build.py index 1aa7346cec..a69638020a 100755 --- a/build.py +++ b/build.py @@ -5,6 +5,7 @@ import glob import gzip import json import os +import re import shutil import time @@ -103,9 +104,17 @@ def build_src_external_src_types_js(t): t.output('bin/generate-exports', '--typedef', 'src/objectliterals.exports') -@pake.target('build/src/internal/src/requireall.js', 'bin/generate-requireall', SRC) +@pake.target('build/src/internal/src/requireall.js', SRC) def build_src_internal_src_requireall_js(t): - t.output('bin/generate-requireall', '--require=goog.dom') + requires = set(('goog.dom',)) + for dependency in t.dependencies: + for line in open(dependency): + match = re.match(r'goog\.provide\(\'(.*)\'\);', line) + if match: + requires.add(match.group(1)) + with open(t.name, 'w') as f: + for require in sorted(requires): + f.write('goog.require(\'%s\');\n' % (require,)) @pake.target('build/src/internal/src/types.js', 'bin/generate-exports', 'src/objectliterals.exports')