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