const OUT_DIR = process.env.ELECTRON_OUT_DIR || 'Debug' const { GitProcess } = require('dugite') const path = require('path') require('colors') const pass = '\u2713'.green const fail = '\u2717'.red function getElectronExec () { switch (process.platform) { case 'darwin': return `out/${OUT_DIR}/Electron.app/Contents/MacOS/Electron` case 'win32': return `out/${OUT_DIR}/electron.exe` case 'linux': return `out/${OUT_DIR}/electron` default: throw new Error('Unknown platform') } } function getAbsoluteElectronExec () { return path.resolve(__dirname, '../../..', getElectronExec()) } async function getCurrentBranch (gitDir) { const gitArgs = ['rev-parse', '--abbrev-ref', 'HEAD'] const branchDetails = await GitProcess.exec(gitArgs, gitDir) if (branchDetails.exitCode === 0) { const currentBranch = branchDetails.stdout.trim() console.log(`${pass} current git branch is: ${currentBranch}`) return currentBranch } else { const error = GitProcess.parseError(branchDetails.stderr) console.log(`${fail} couldn't get details current branch: `, error) process.exit(1) } } module.exports = { getCurrentBranch, getElectronExec, getAbsoluteElectronExec, OUT_DIR }