update node build config
This commit is contained in:
@@ -1,11 +1,28 @@
|
||||
const program = require('commander');
|
||||
const util = require('./util')
|
||||
const path = require('path')
|
||||
const fs = require('fs-extra')
|
||||
|
||||
program
|
||||
.version(process.env.npm_package_version)
|
||||
.option('-C <buildConfig>', 'build config (Debug/Release')
|
||||
.parse(process.argv)
|
||||
|
||||
const buildConfig = program.buildConfig || util.defaultBuildConfig
|
||||
const outputDir = path.join('out', program.buildConfig || util.defaultBuildConfig)
|
||||
util.run('gn', ['gen', outputDir], { cwd: util.muonDir })
|
||||
const component = buildConfig === 'Release' ? 'static_library' : 'shared_library'
|
||||
|
||||
|
||||
console.log('generating node ninja files...')
|
||||
fs.copySync(path.join(util.resourcesDir, 'node_config.gypi'), path.join(util.muonDir, 'vendor', 'node', 'config.gypi'))
|
||||
const options = util.defaultOptions
|
||||
options.env.GYP_INCLUDE_LAST = 'electron/node.gypi'
|
||||
options.env.GYP_CHROMIUM_NO_ACTION = '0'
|
||||
util.run('gyp_chromium', ['-I', 'electron/vendor/node/config.gypi', '-D', 'component=' + component, 'electron/vendor/node/node.gyp'], options)
|
||||
|
||||
console.log('building node...')
|
||||
util.run('ninja', ['-C', outputDir, 'node'])
|
||||
|
||||
console.log('gn gen...')
|
||||
util.run('gn', ['gen', outputDir])
|
||||
|
||||
|
||||
@@ -10,11 +10,12 @@ const scriptDir = path.dirname(__filename)
|
||||
const rootDir = path.join(scriptDir, '..')
|
||||
const depotToolsDir = path.join(rootDir, 'vendor', 'depot_tools')
|
||||
const srcDir = path.join(rootDir, 'src')
|
||||
const buildToolsDir = path.join(srcDir, 'build')
|
||||
const muonDir = path.join(srcDir, 'electron')
|
||||
const patchesDir = path.join(srcDir, 'libchromiumcontent')
|
||||
const resourcesDir = path.join(rootDir, 'resources')
|
||||
|
||||
const default_options = {
|
||||
const defaultOptions = {
|
||||
env: process.env,
|
||||
shell: true,
|
||||
stdio: 'inherit',
|
||||
@@ -23,6 +24,7 @@ const default_options = {
|
||||
|
||||
let shell_path = process.env.PATH.split(path.delimiter)
|
||||
shell_path.push(depotToolsDir)
|
||||
shell_path.push(buildToolsDir)
|
||||
shell_path = shell_path.join(path.delimiter)
|
||||
process.env.PATH = shell_path
|
||||
|
||||
@@ -38,38 +40,40 @@ const util = {
|
||||
muonDir,
|
||||
patchesDir,
|
||||
resourcesDir,
|
||||
default_options,
|
||||
defaultOptions,
|
||||
|
||||
run: (command, arguments, options) => {
|
||||
const prog = spawnSync(command, arguments, options)
|
||||
run: (cmd, args, options = defaultOptions) => {
|
||||
console.log(cmd, args)
|
||||
const prog = spawnSync(cmd, args, options)
|
||||
if (prog.status !== 0) {
|
||||
console.error(prog.error)
|
||||
process.exit(1)
|
||||
}
|
||||
},
|
||||
|
||||
submoduleSync: (options = {}) => {
|
||||
util.run('git', ['submodule', 'sync'], Object.assign(default_options, options))
|
||||
util.run('git', ['submodule', 'update', '--init', '--recursive'], Object.assign(default_options, options))
|
||||
util.run('git', ['submodule', 'sync'], Object.assign(defaultOptions, options))
|
||||
util.run('git', ['submodule', 'update', '--init', '--recursive'], Object.assign(defaultOptions, options))
|
||||
},
|
||||
|
||||
gclientSync: (options = {}) => {
|
||||
util.run('gclient', ['sync', '--force', '--nohooks', '--with_branch_heads'], Object.assign(default_options, options))
|
||||
util.run('gclient', ['sync', '--force', '--nohooks', '--with_branch_heads'], Object.assign(defaultOptions, options))
|
||||
},
|
||||
|
||||
gclientRunhooks: (options = {}) => {
|
||||
util.run('gclient', ['runnohooks'], Object.assign(default_options, options))
|
||||
util.run('gclient', ['runnohooks'], Object.assign(defaultOptions, options))
|
||||
},
|
||||
|
||||
fetch: (options = {}) => {
|
||||
util.run('git', ['fetch', 'origin'], Object.assign(default_options, options))
|
||||
util.run('git', ['fetch', 'origin'], Object.assign(defaultOptions, options))
|
||||
},
|
||||
|
||||
fetchTags: (options = {}) => {
|
||||
util.run('git', ['fetch', 'origin', '--tags'], Object.assign(default_options, options))
|
||||
util.run('git', ['fetch', 'origin', '--tags'], Object.assign(defaultOptions, options))
|
||||
},
|
||||
|
||||
setVersion: (version, options = {}) => {
|
||||
util.run('git', ['reset', '--hard', version], Object.assign(default_options, options))
|
||||
util.run('git', ['reset', '--hard', version], Object.assign(defaultOptions, options))
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user