blob: 2c583ef97fdeceb5830d0761c0e9fc885a7528d5 [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'type': 'none',
'variables': {
'CLOSURE_DIR': '<(DEPTH)/third_party/closure_compiler',
'EXTERNS_GYP': '<(CLOSURE_DIR)/externs/compiled_resources2.gyp',
'INTERFACES_GYP': '<(CLOSURE_DIR)/interfaces/compiled_resources2.gyp',
'default_source_file': '<(_target_name).js',
'source_files%': ['<(default_source_file)'],
'extra_inputs%': [],
'includes': ['closure_args.gypi'],
},
'sources': ['<@(source_files)'],
'all_dependent_settings': {
'sources': ['<@(source_files)'],
},
'actions': [
{
'action_name': 'compile_js',
# This action optionally takes these arguments:
# - sources: a list of all of the source files to be compiled.
# If sources is undefined, a default of ['<(_target_name).js']
# is created (this probably suffices for many targets).
# - out_file: a file where the compiled output is written to. The default
# is gen/closure/<path to |target_name|>/|target_name|.js.
# - script_args: additional arguments to pass to compile2.py.
# - closure_args: additional arguments to pass to the Closure compiler.
# - disabled_closure_args: additional arguments dealing with the
# strictness of compilation; Non-strict
# defaults are provided that can be overriden.
'variables': {
'target_path': '<!(python <(CLOSURE_DIR)/build/outputs.py <(default_source_file))',
'out_file%': '<(SHARED_INTERMEDIATE_DIR)/closure/<(target_path)',
# TODO(dbeam): remove when no longer used from remoting/.
'script_args%': [],
'closure_args%': '<(default_closure_args)',
'disabled_closure_args%': '<(default_disabled_closure_args)',
},
'inputs': [
'<(CLOSURE_DIR)/build/outputs.py',
'<(CLOSURE_DIR)/closure_args.gypi',
'<(CLOSURE_DIR)/compile2.py',
'<(CLOSURE_DIR)/compile_js2.gypi',
'<(CLOSURE_DIR)/compiler/compiler.jar',
'<(CLOSURE_DIR)/include_js.gypi',
'<(CLOSURE_DIR)/processor.py',
'>@(_sources)',
# When converting to GN, write the paths to additional inputs in a GN
# depfile file instead.
'<@(extra_inputs)',
],
'outputs': ['<(out_file)'],
'action': [
'python',
'<(CLOSURE_DIR)/compile2.py',
'<@(script_args)',
'>@(_sources)',
'--out_file', '<(out_file)',
'--closure_args', '<@(closure_args)', '<@(disabled_closure_args)',
# '--verbose' # for make glorious log spam of Closure compiler.
],
'message': 'Compiling <(target_path)',
},
],
}