1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Include this file in a target to produce a bundled and compressed 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# JavaScript file from a set of files with closure-style dependency 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# declarations. The following variables must be defined before including 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# this file: 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# js_root_flags: List of '-r' flags to jsbundler.py for locating the 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# .js files. 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# output_file: path of the compressed JavaScript bundle. 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# In addition, the target must have a 'sources' list containing the 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# top-level files for the bundle. 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles){ 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'actions': [ 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) { 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'action_name': 'js_compress', 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'message': 'Compress js for <(_target_name)', 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'variables': { 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'js_files': [ 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) '<!@(python tools/jsbundler.py <(js_root_flags) <(_sources))' 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ], 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) }, 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'inputs': [ 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'tools/jsbundler.py', 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) '<@(js_files)', 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ], 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'outputs': [ 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) '<(output_file)' 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ], 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'action': [ 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'python', 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'tools/jsbundler.py', 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) '-m', 'compressed_bundle', 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) '-o', '<(output_file)', 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) '<@(js_files)', 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ], 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) }, 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ], 42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)} 43