From 970782d1473b3e2e962aa26adccc1d24bc01c505 Mon Sep 17 00:00:00 2001 From: nmccready Date: Fri, 4 Mar 2016 21:54:47 -0800 Subject: [PATCH] run-android Chose your Term for OSX, and Linux Summary:Main goal is to get this passed for OSX. I assume this works for linux; please verify. Also if specs need to be added, please suggest an implementation as there is no __test__ dir for andriod. using yargs (already a dependency) to allow other terminals besides OSX crummy default terminal. Like (iterm) :) main use case: ` react-native run-android --open iterm` The nice thing about this in ITERM is it opens another tab by default which is way less intrusive then OSX default term. Closes https://github.com/facebook/react-native/pull/5232 Differential Revision: D3011590 Pulled By: mkonicek fb-gh-sync-id: 7e2a004b3018b4d70aafadf4e9be9682561d7919 shipit-source-id: 7e2a004b3018b4d70aafadf4e9be9682561d7919 --- local-cli/runAndroid/runAndroid.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/local-cli/runAndroid/runAndroid.js b/local-cli/runAndroid/runAndroid.js index cd369613b6a..3a95d9f4bdc 100644 --- a/local-cli/runAndroid/runAndroid.js +++ b/local-cli/runAndroid/runAndroid.js @@ -141,18 +141,24 @@ function buildAndRun(args, reject) { } function startServerInNewWindow() { + var yargV = require('yargs').argv; + const launchPackagerScript = path.resolve( __dirname, '..', '..', 'packager', 'launchPackager.command' ); if (process.platform === 'darwin') { - child_process.spawnSync('open', [launchPackagerScript]); + if (yargV.open) { + return child_process.spawnSync('open', ['-a', yargV.open, launchPackagerScript]); + } + return child_process.spawnSync('open', [launchPackagerScript]); + } else if (process.platform === 'linux') { - child_process.spawn( - 'xterm', - ['-e', 'sh', launchPackagerScript], - {detached: true} - ); + if (yargV.open){ + return child_process.spawn(yargV.open,['-e', 'sh', launchPackagerScript], {detached: true}); + } + return child_process.spawn('xterm',['-e', 'sh', launchPackagerScript],{detached: true}); + } else if (/^win/.test(process.platform)) { console.log(chalk.yellow('Starting the packager in a new window ' + 'is not supported on Windows yet.\nPlease start it manually using ' +