build chromedriver without muon_build

auditors: @bbondy
This commit is contained in:
bridiver 2017-01-16 08:14:51 -07:00
parent 2d6abcca41
commit c0cfb15f7f
3 changed files with 52 additions and 38 deletions

View File

@ -47,6 +47,49 @@ const util = {
fs.writeFileSync(config.defaultGClientFile, out) fs.writeFileSync(config.defaultGClientFile, out)
}, },
updateBranding: () => {
console.log('update branding...')
const braveThemeDir = path.join(config.srcDir, 'chrome', 'app', 'theme', 'brave')
fs.ensureDirSync(braveThemeDir)
fs.copySync(path.join(config.resourcesDir, 'BRANDING'), path.join(braveThemeDir, 'BRANDING'))
},
buildNode: (options = config.defaultOptions) => {
console.log('building node...')
fs.copySync(path.join(config.resourcesDir, 'node_config.gypi'), path.join(config.projects.node.dir, 'config.gypi'))
options.env.GYP_INCLUDE_LAST = 'electron/build/node/node.gypi'
options.env.GYP_CHROMIUM_NO_ACTION = 0
options.env = config.addPathToEnv(options.env, config.buildToolsDir)
util.run('python', [path.join(config.buildToolsDir, 'gyp_chromium.py'),
'-D', 'target_arch=' + config.gypTargetArch,
'-D', 'host_arch=x64',
'-D', 'buildtype=Custom', // don't apply Dev or Official configs
'-D', 'component=' + config.component,
'-Goutput_dir=' + config.outputDir.split(path.sep).slice(0, -1).join(path.sep),
path.join(config.projects.node.dir, 'node.gyp')], options)
util.run('ninja', ['-C', config.outputDir, 'node'], options)
},
buildChromedriver: (options = config.defaultOptions) => {
console.log('building chromedriver...')
let buildArgs = config.buildArgs()
buildArgs.muon_build = false
let outputDir = path.join(config.outputDir.split(path.sep).slice(0, -1).join(path.sep), 'Chromedriver')
const args = util.buildArgsToString(buildArgs)
util.run('gn', ['gen', outputDir, '--args="' + args + '"'], options)
util.run('ninja', ['-C', outputDir, 'build_chromedriver'], options)
},
buildMuon: (options = config.defaultOptions) => {
console.log('building muon...')
const args = util.buildArgsToString(config.buildArgs())
util.run('gn', ['gen', config.outputDir, '--args="' + args + '"'], options)
util.run('ninja', ['-C', config.outputDir, 'electron'], options)
},
submoduleSync: (options = { cwd: config.rootDir }) => { submoduleSync: (options = { cwd: config.rootDir }) => {
options = mergeWithDefault(options) options = mergeWithDefault(options)
util.run('git', ['submodule', 'sync'], options) util.run('git', ['submodule', 'sync'], options)

View File

@ -9,6 +9,7 @@ program
.option('-C <build_dir>', 'build config (out/Debug, out/Release') .option('-C <build_dir>', 'build config (out/Debug, out/Release')
.option('--muon', 'build muon') .option('--muon', 'build muon')
.option('--node', 'build node') .option('--node', 'build node')
.option('--chromedriver', 'build chromedriver')
.option('--target_arch <target_arch>', 'target architecture', 'x64') .option('--target_arch <target_arch>', 'target architecture', 'x64')
.option('--electron_google_api_key <electron_google_api_key>') .option('--electron_google_api_key <electron_google_api_key>')
.option('--electron_google_api_endpoint <electron_google_api_endpoint>') .option('--electron_google_api_endpoint <electron_google_api_endpoint>')
@ -21,50 +22,19 @@ program
config.update(program) config.update(program)
const updateBranding = () => { if (program.chromedriver) {
console.log('update branding...') util.buildChromedriver()
const braveThemeDir = path.join(config.srcDir, 'chrome', 'app', 'theme', 'brave') return
fs.ensureDirSync(braveThemeDir)
fs.copySync(path.join(config.resourcesDir, 'BRANDING'), path.join(braveThemeDir, 'BRANDING'))
}
const buildNode = (options = config.defaultOptions) => {
console.log('building node...')
fs.copySync(path.join(config.resourcesDir, 'node_config.gypi'), path.join(config.projects.node.dir, 'config.gypi'))
options.env.GYP_INCLUDE_LAST = 'electron/build/node/node.gypi'
options.env.GYP_CHROMIUM_NO_ACTION = 0
options.env = config.addPathToEnv(options.env, config.buildToolsDir)
util.run('python', [path.join(config.buildToolsDir, 'gyp_chromium.py'),
'-D', 'target_arch=' + config.gypTargetArch,
'-D', 'host_arch=x64',
'-D', 'buildtype=Custom', // don't apply Dev or Official configs
'-D', 'component=' + config.component,
'-Goutput_dir=' + config.outputDir.split(path.sep).slice(0, -1).join(path.sep),
path.join(config.projects.node.dir, 'node.gyp')], options)
util.run('ninja', ['-C', config.outputDir, 'node'], options)
}
const buildMuon = (options = config.defaultOptions) => {
console.log('building muon...')
const args = util.buildArgsToString(config.buildArgs())
util.run('gn', ['gen', config.outputDir, '--args="' + args + '"'], options)
util.run('ninja', ['-C', config.outputDir, 'electron'], options)
} }
if (!program.no_branding_update) { if (!program.no_branding_update) {
updateBranding() util.updateBranding()
} }
if (!program.muon) { if (!program.muon) {
buildNode() util.buildNode()
} }
if (!program.node) { if (!program.node) {
buildMuon() util.buildMuon()
} }

View File

@ -13,5 +13,6 @@ config.buildConfig = 'Release'
let options = config.defaultOptions let options = config.defaultOptions
const args = util.buildArgsToString(config.buildArgs()) const args = util.buildArgsToString(config.buildArgs())
util.buildChromedriver()
util.run('gn', ['gen', config.outputDir, '--args="' + args + '"'], options) util.run('gn', ['gen', config.outputDir, '--args="' + args + '"'], options)
util.run('ninja', ['-C', config.outputDir, 'create_dist'], options) util.run('ninja', ['-C', config.outputDir, 'create_dist'], options)