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