Merge pull request #1118 from twpayne/build-examples-together
Build examples together
This commit is contained in:
27
bin/combine-examples.py
Executable file
27
bin/combine-examples.py
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
examples = {}
|
||||||
|
requires = set()
|
||||||
|
for filename in argv[1:]:
|
||||||
|
lines = open(filename).readlines()
|
||||||
|
if len(lines) > 0 and lines[0].startswith('// NOCOMPILE'):
|
||||||
|
continue
|
||||||
|
requires.update(line for line in lines if line.startswith('goog.require'))
|
||||||
|
examples[filename] = [line for line in lines if not line.startswith('goog.require')]
|
||||||
|
for require in sorted(requires):
|
||||||
|
print require,
|
||||||
|
for filename in sorted(examples.keys()):
|
||||||
|
print '// ', filename
|
||||||
|
print '(function(){'
|
||||||
|
for line in examples[filename]:
|
||||||
|
print line,
|
||||||
|
print '})();'
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main(sys.argv))
|
||||||
19
build.py
19
build.py
@@ -166,7 +166,7 @@ virtual('default', 'build')
|
|||||||
|
|
||||||
|
|
||||||
virtual('integration-test', 'lint', 'build', 'build-all',
|
virtual('integration-test', 'lint', 'build', 'build-all',
|
||||||
'test', 'build-examples', 'check-examples', 'apidoc')
|
'test', 'build/examples/all.combined.js', 'check-examples', 'apidoc')
|
||||||
|
|
||||||
|
|
||||||
virtual('build', 'build/ol.css', 'build/ol.js',
|
virtual('build', 'build/ol.css', 'build/ol.js',
|
||||||
@@ -280,7 +280,8 @@ def build_src_internal_types_js(t):
|
|||||||
'--typedef', 'src/objectliterals.jsdoc')
|
'--typedef', 'src/objectliterals.jsdoc')
|
||||||
|
|
||||||
|
|
||||||
virtual('build-examples', 'examples', EXAMPLES_COMBINED)
|
virtual('build-examples', 'examples', 'build/examples/all.combined.js',
|
||||||
|
EXAMPLES_COMBINED)
|
||||||
|
|
||||||
|
|
||||||
virtual('examples', 'examples/example-list.xml', EXAMPLES_JSON)
|
virtual('examples', 'examples/example-list.xml', EXAMPLES_JSON)
|
||||||
@@ -296,6 +297,20 @@ def examples_examples_list_js(t):
|
|||||||
t.run('%(PYTHON)s', 'bin/exampleparser.py', 'examples', 'examples')
|
t.run('%(PYTHON)s', 'bin/exampleparser.py', 'examples', 'examples')
|
||||||
|
|
||||||
|
|
||||||
|
@target('build/examples/all.combined.js', 'build/examples/all.js', PLOVR_JAR,
|
||||||
|
SRC, INTERNAL_SRC, SHADER_SRC, LIBTESS_JS_SRC,
|
||||||
|
'buildcfg/base.json', 'build/examples/all.json')
|
||||||
|
def build_examples_all_combined_js(t):
|
||||||
|
t.output('%(JAVA)s', '-jar', PLOVR_JAR, 'build',
|
||||||
|
'buildcfg/examples-all.json')
|
||||||
|
report_sizes(t)
|
||||||
|
|
||||||
|
|
||||||
|
@target('build/examples/all.js', EXAMPLES_SRC)
|
||||||
|
def build_examples_all_js(t):
|
||||||
|
t.output('bin/combine-examples.py', t.dependencies)
|
||||||
|
|
||||||
|
|
||||||
@rule(r'\Abuild/examples/(?P<id>.*).json\Z')
|
@rule(r'\Abuild/examples/(?P<id>.*).json\Z')
|
||||||
def examples_star_json(name, match):
|
def examples_star_json(name, match):
|
||||||
def action(t):
|
def action(t):
|
||||||
|
|||||||
20
buildcfg/examples-all.json
Normal file
20
buildcfg/examples-all.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"externs": [
|
||||||
|
"//json.js",
|
||||||
|
"//jquery-1.7.js",
|
||||||
|
"../externs/bingmaps.js",
|
||||||
|
"../externs/bootstrap.js",
|
||||||
|
"../externs/geojson.js",
|
||||||
|
"../externs/topojson.js",
|
||||||
|
"../externs/oli.js",
|
||||||
|
"../externs/proj4js.js",
|
||||||
|
"../externs/tilejson.js",
|
||||||
|
"../externs/closure-compiler.js"
|
||||||
|
],
|
||||||
|
"id": "simple",
|
||||||
|
"inherits": "base.json",
|
||||||
|
"inputs": [
|
||||||
|
"../build/examples/all.js",
|
||||||
|
"../build/src/internal/src/types.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user