Skip to content

Commit

Permalink
build: add gn-check to precommit linting (#19850)
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere committed Aug 30, 2019
1 parent 0f5ff1f commit bfe2568
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
2 changes: 2 additions & 0 deletions package.json
Expand Up @@ -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",
Expand Down Expand Up @@ -115,6 +116,7 @@
"remark -qf"
],
"*.{gn,gni}": [
"npm run gn-check",
"python script/run-gn-format.py",
"git add"
],
Expand Down
34 changes: 34 additions & 0 deletions script/gn-check.js
@@ -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)

0 comments on commit bfe2568

Please sign in to comment.