electron/script/lib/utils.js
Shelley Vohr d3c58ea48c
chore: move getCurrentBranch to a util file (#15921)
* chore: move getCurrentBranch to a util file

* fix import
2018-12-03 13:28:10 -08:00

46 lines
1.2 KiB
JavaScript

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
}