build: add gn-check to precommit linting (#19850)
This commit is contained in:
parent
0f5ff1f5bb
commit
bfe256891c
2 changed files with 36 additions and 0 deletions
|
@ -79,6 +79,7 @@
|
|||
"create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --api=electron-api.json && node spec/ts-smoke/runner.js",
|
||||
"gn-typescript-definitions": "npm run create-typescript-definitions && shx cp electron.d.ts",
|
||||
"pre-flight": "pre-flight",
|
||||
"gn-check": "node ./script/gn-check.js",
|
||||
"preinstall": "node -e 'process.exit(0)'",
|
||||
"prepack": "check-for-leaks",
|
||||
"repl": "node ./script/start.js --interactive",
|
||||
|
@ -115,6 +116,7 @@
|
|||
"remark -qf"
|
||||
],
|
||||
"*.{gn,gni}": [
|
||||
"npm run gn-check",
|
||||
"python script/run-gn-format.py",
|
||||
"git add"
|
||||
],
|
||||
|
|
34
script/gn-check.js
Normal file
34
script/gn-check.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
const cp = require('child_process')
|
||||
const path = require('path')
|
||||
|
||||
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()
|
||||
|
||||
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:manifests',
|
||||
'//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)
|
Loading…
Add table
Add a link
Reference in a new issue