2 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 """Combines the javascript files needed by jstemplate into a single file."""
13 srcs
= ['util.js', 'jsevalcontext.js', 'jstemplate.js', 'exports.js']
14 out
= 'jstemplate_compiled.js'
16 # Wrap the output in an anonymous function to prevent poluting the global
18 output_wrapper
= '(function(){%s})()'
20 # Define the parameters for the POST request and encode them in a URL-safe
21 # format. See http://code.google.com/closure/compiler/docs/api-ref.html for
23 params
= urllib
.urlencode(
24 map(lambda src
: ('js_code', file(src
).read()), srcs
) +
26 ('compilation_level', 'ADVANCED_OPTIMIZATIONS'),
27 ('output_format', 'text'),
28 ('output_info', 'compiled_code'),
31 # Always use the following value for the Content-type header.
32 headers
= {'Content-type': 'application/x-www-form-urlencoded'}
33 conn
= httplib
.HTTPConnection('closure-compiler.appspot.com')
34 conn
.request('POST', '/compile', params
, headers
)
35 response
= conn
.getresponse()
36 out_file
= file(out
, 'w')
37 out_file
.write(output_wrapper
% response
.read())
43 if __name__
== '__main__':