diff --git a/electron.gyp b/electron.gyp index 5d44f8d1bb96..9919d4b0e631 100644 --- a/electron.gyp +++ b/electron.gyp @@ -5,6 +5,7 @@ 'company_name%': 'GitHub, Inc', 'company_abbr%': 'github', 'version%': '1.4.1', + 'js2c_input_dir': '<(SHARED_INTERMEDIATE_DIR)/js2c', }, 'includes': [ 'filenames.gypi', @@ -410,13 +411,29 @@ } ], }, # target app2asar + { + 'target_name': 'atom_js2c_copy', + 'type': 'none', + 'copies': [ + { + 'destination': '<(js2c_input_dir)', + 'files': [ + '<@(js2c_sources)', + ], + }, + ], + }, # target atom_js2c_copy { 'target_name': 'atom_js2c', 'type': 'none', + 'dependencies': [ + 'atom_js2c_copy', + ], 'actions': [ { 'action_name': 'atom_js2c', 'inputs': [ + # List all input files that should trigger a rebuild with js2c '<@(js2c_sources)', ], 'outputs': [ @@ -426,7 +443,7 @@ 'python', 'tools/js2c.py', '<@(_outputs)', - '<@(_inputs)', + '<(js2c_input_dir)', ], } ], diff --git a/tools/js2c.py b/tools/js2c.py index 394aa557e522..ce4081077021 100755 --- a/tools/js2c.py +++ b/tools/js2c.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import contextlib +import glob import os import subprocess import sys @@ -11,7 +12,7 @@ SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) def main(): natives = os.path.abspath(sys.argv[1]) - js_source_files = sys.argv[2:] + js_source_files = glob.glob('{0}/*.js'.format(sys.argv[2])) call_js2c(natives, js_source_files)