12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*
- Usage:
- $ node ./script/gn-check.js [--outDir=dirName]
- */
- const cp = require('child_process');
- const path = require('path');
- const args = require('minimist')(process.argv.slice(2), { string: ['outDir'] });
- const { getOutDir } = require('./lib/utils');
- const SOURCE_ROOT = path.normalize(path.dirname(__dirname));
- const DEPOT_TOOLS = path.resolve(SOURCE_ROOT, '..', 'third_party', 'depot_tools');
- const OUT_DIR = getOutDir({ outDir: args.outDir });
- if (!OUT_DIR) {
- throw new Error('No viable out dir: one of Debug, Testing, or Release must exist.');
- }
- const env = Object.assign({
- CHROMIUM_BUILDTOOLS_PATH: path.resolve(SOURCE_ROOT, '..', 'buildtools'),
- DEPOT_TOOLS_WIN_TOOLCHAIN: '0'
- }, process.env);
- // Users may not have depot_tools in PATH.
- env.PATH = `${env.PATH}${path.delimiter}${DEPOT_TOOLS}`;
- const gnCheckDirs = [
- '//electron:electron_lib',
- '//electron:electron_app',
- '//electron/shell/common/api:mojo'
- ];
- for (const dir of gnCheckDirs) {
- const args = ['check', `../out/${OUT_DIR}`, dir];
- const result = cp.spawnSync('gn', args, { env, stdio: 'inherit' });
- if (result.status !== 0) process.exit(result.status);
- }
- process.exit(0);
|