|
|
|
|
|
|
|
|
var ENV = Object.assign({}, process.env); // Shallow clone it. |
|
|
var ENV = Object.assign({}, process.env); // Shallow clone it. |
|
|
|
|
|
|
|
|
var getShellTask = (command, args, options) => { |
|
|
var getShellTask = (command, args, options) => { |
|
|
|
|
|
options = options || {} |
|
|
return () => { |
|
|
return () => { |
|
|
var p = nodeShellExec.apply(null, [command, args, Object.assign({ |
|
|
var p = nodeShellExec.apply(null, [command, args, Object.assign({ |
|
|
inherit: true, shell: true, env: ENV, title: `${command} ${args}` |
|
|
inherit: true, shell: true, env: ENV, title: `${command} ${args}` |
|
|
|
|
|
|
|
|
var getPullCmd = (repo) => { |
|
|
var getPullCmd = (repo) => { |
|
|
// console.log(useGitPull) |
|
|
// console.log(useGitPull) |
|
|
|
|
|
|
|
|
var pullCmd = [gitInstallDir |
|
|
|
|
|
|
|
|
var pullCmd = [gitbash |
|
|
, ['-c', 'branch=`git rev-parse --abbrev-ref HEAD`;for i in `git remote`; do git pull $i $branch; done;'] |
|
|
, ['-c', 'branch=`git rev-parse --abbrev-ref HEAD`;for i in `git remote`; do git pull $i $branch; done;'] |
|
|
, { cwd: repo, title: 'pull all origins for ' + repo }] |
|
|
|
|
|
|
|
|
, { cwd: instanceroot + '/' + repo, title: 'pull all origins for ' + repo }] |
|
|
// var pullCmd = ['pullall', [], { cwd : repo }] |
|
|
// var pullCmd = ['pullall', [], { cwd : repo }] |
|
|
if (useGitPull) pullCmd = ['git', ['pull'], { |
|
|
if (useGitPull) pullCmd = ['git', ['pull'], { |
|
|
inherit: true, shell: true, |
|
|
inherit: true, shell: true, |
|
|
|
|
|
|
|
|
return nodeShellExec('git', ['clone', '-c', 'core.symlinks=true', defaultRepoServer + `/${defaultRepoOwner}/` + repo + '.git'], |
|
|
return nodeShellExec('git', ['clone', '-c', 'core.symlinks=true', defaultRepoServer + `/${defaultRepoOwner}/` + repo + '.git'], |
|
|
{ |
|
|
{ |
|
|
inherit: true, shell: true, |
|
|
inherit: true, shell: true, |
|
|
env: process.env |
|
|
|
|
|
|
|
|
env: process.env |
|
|
|
|
|
, cwd : instanceroot |
|
|
, runas: processedArgs.runas |
|
|
, runas: processedArgs.runas |
|
|
}).catch((e) => { |
|
|
}).catch((e) => { |
|
|
throw e; |
|
|
throw e; |
|
|
|
|
|
|
|
|
{ |
|
|
{ |
|
|
inherit: true, shell: true, |
|
|
inherit: true, shell: true, |
|
|
env: process.env |
|
|
env: process.env |
|
|
, cwd: repo |
|
|
|
|
|
|
|
|
, cwd: instanceroot + '/' + repo |
|
|
, runas: processedArgs.runas |
|
|
, runas: processedArgs.runas |
|
|
, title: `git core.symlinks --replace-all true for ${defaultRepoServer + `/${defaultRepoOwner}/` + repo + '.git'}` |
|
|
, title: `git core.symlinks --replace-all true for ${defaultRepoServer + `/${defaultRepoOwner}/` + repo + '.git'}` |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// SAM : TODO Use nodeshellexec where to detect git installation dir |
|
|
// SAM : TODO Use nodeshellexec where to detect git installation dir |
|
|
var gitInstallDir = "C:\\Program Files\\Git\\bin\\sh.exe" |
|
|
|
|
|
// var gitInstallDir = "G:\\Installed\\Git\\bin\\sh.exe" |
|
|
|
|
|
|
|
|
var gitbash = "C:\\Program Files\\Git\\bin\\sh.exe" |
|
|
|
|
|
// var gitbash = "G:\\Installed\\Git\\bin\\sh.exe" |
|
|
// Relevant git repos |
|
|
// Relevant git repos |
|
|
// var repomanifest = require('../'+repomanifest.instanceName+'-config-'+ nodeenv +'/repo-manifest')() |
|
|
// var repomanifest = require('../'+repomanifest.instanceName+'-config-'+ nodeenv +'/repo-manifest')() |
|
|
var exludeMergeRepos = []; |
|
|
var exludeMergeRepos = []; |
|
|
|
|
|
|
|
|
, env: process.env |
|
|
, env: process.env |
|
|
}] |
|
|
}] |
|
|
// PB : TODO -- Do this conditionally only... |
|
|
// PB : TODO -- Do this conditionally only... |
|
|
, ['git', ['remote', 'rename', 'origin', 'githubclone'], { cwd: `${repo}` }, (err) => { |
|
|
|
|
|
|
|
|
, ['git', ['remote', 'rename', 'origin', 'githubclone'], { cwd: `${instanceroot + '/' + repo}` }, (err) => { |
|
|
console.log('Ignoring origin rename error : ' + err); return true; //return true to continue. |
|
|
console.log('Ignoring origin rename error : ' + err); return true; //return true to continue. |
|
|
}] // PB ; Todo -- new repositories created locally will not have origin. Handle this failure. |
|
|
}] // PB ; Todo -- new repositories created locally will not have origin. Handle this failure. |
|
|
, ['git', ['remote', 'add', 'origin', `${defaultRepoServer}/${repo}.git`], { cwd: `${repo}` }] |
|
|
|
|
|
|
|
|
, ['git', ['remote', 'add', 'origin', `${defaultRepoServer}/${repo}.git`], { cwd: `${instanceroot + '/' + repo}` }] |
|
|
// PB : TODO -- If threre is a gitbubclone origin |
|
|
// PB : TODO -- If threre is a gitbubclone origin |
|
|
// Set the master to pull from the local repo. |
|
|
// Set the master to pull from the local repo. |
|
|
] |
|
|
] |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
sequentialTaskShellCommands.push(['git', ['push', 'origin', 'master'], { cwd: `${repo}` }]) |
|
|
|
|
|
|
|
|
sequentialTaskShellCommands.push(['git', ['push', 'origin', 'master'], { cwd: `${instanceroot + '/' + repo}` }]) |
|
|
// console.dir(sequentialTaskShellCommands); |
|
|
// console.dir(sequentialTaskShellCommands); |
|
|
|
|
|
|
|
|
var tasks = []; |
|
|
var tasks = []; |
|
|
|
|
|
|
|
|
remotename = remotename || processedArgs._[1] |
|
|
remotename = remotename || processedArgs._[1] |
|
|
url = url || processedArgs._[2] |
|
|
url = url || processedArgs._[2] |
|
|
var serial_perform_git_seturl = (repo) => { |
|
|
var serial_perform_git_seturl = (repo) => { |
|
|
var options = { cwd: repo } |
|
|
|
|
|
|
|
|
var options = { cwd: instanceroot + '/' + repo } |
|
|
// console.log(repo) |
|
|
// console.log(repo) |
|
|
if (pushable) { |
|
|
if (pushable) { |
|
|
return [ |
|
|
return [ |
|
|
['git', ['remote', 'set-url', remotename, url + '/' + repo], { cwd: repo }] |
|
|
|
|
|
|
|
|
['git', ['remote', 'set-url', remotename, url + '/' + repo], { cwd: instanceroot + '/' + repo }] |
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
|
|
|
|
|
|
url = url || processedArgs._[2] |
|
|
url = url || processedArgs._[2] |
|
|
branch = branch || processedArgs._[3] |
|
|
branch = branch || processedArgs._[3] |
|
|
var serial_perform_git_add = (repo) => { |
|
|
var serial_perform_git_add = (repo) => { |
|
|
var options = { cwd: repo } |
|
|
|
|
|
|
|
|
var options = { cwd: instanceroot + '/' + repo } |
|
|
// console.log(repo) |
|
|
// console.log(repo) |
|
|
if (pushable) { |
|
|
if (pushable) { |
|
|
return [ |
|
|
return [ |
|
|
['git', ['remote', 'add', remotename, url + '/' + repo], { cwd: repo }] |
|
|
|
|
|
, ['git', ['pull', remotename, branch], { cwd: repo }] |
|
|
|
|
|
, ['git', ['branch', `--set-upstream-to=${remotename}/${branch}`, branch], { cwd: repo }] |
|
|
|
|
|
|
|
|
['git', ['remote', 'add', remotename, url + '/' + repo], { cwd: instanceroot + '/' + repo }] |
|
|
|
|
|
, ['git', ['pull', remotename, branch], { cwd: instanceroot + '/' + repo }] |
|
|
|
|
|
, ['git', ['branch', `--set-upstream-to=${remotename}/${branch}`, branch], { cwd: instanceroot + '/' + repo }] |
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
|
|
|
|
|
|
return [ |
|
|
return [ |
|
|
['git', ['remote', 'add', remotename, url + '/' + repo], { cwd: repo }] |
|
|
|
|
|
, ['git', ['remote', `set-url`, '--push', remotename, 'no-pushing'], { cwd: repo }] |
|
|
|
|
|
, ['git', ['pull', remotename, branch], { cwd: repo }] |
|
|
|
|
|
, ['git', ['branch', `--set-upstream-to=${remotename}/${branch}`, branch], { cwd: repo }] |
|
|
|
|
|
|
|
|
['git', ['remote', 'add', remotename, url + '/' + repo], { cwd: instanceroot + '/' + repo }] |
|
|
|
|
|
, ['git', ['remote', `set-url`, '--push', remotename, 'no-pushing'], { cwd: instanceroot + '/' + repo }] |
|
|
|
|
|
, ['git', ['pull', remotename, branch], { cwd: instanceroot + '/' + repo }] |
|
|
|
|
|
, ['git', ['branch', `--set-upstream-to=${remotename}/${branch}`, branch], { cwd: instanceroot + '/' + repo }] |
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, 'remove': (remotename) => { |
|
|
, 'remove': (remotename) => { |
|
|
remotename = remotename || processedArgs._[1] |
|
|
remotename = remotename || processedArgs._[1] |
|
|
var serial_perform_git_remove = (repo) => { |
|
|
var serial_perform_git_remove = (repo) => { |
|
|
var options = { cwd: repo } |
|
|
|
|
|
|
|
|
var options = { cwd: instanceroot + '/' + repo } |
|
|
// console.log(repo) |
|
|
// console.log(repo) |
|
|
return [ |
|
|
return [ |
|
|
['git', ['remote', 'remove', remotename], { cwd: repo }] |
|
|
|
|
|
|
|
|
['git', ['remote', 'remove', remotename], { cwd: instanceroot + '/' + repo }] |
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
var x = (args) => { |
|
|
var x = (args) => { |
|
|
|
|
|
|
|
|
user = user || processedArgs._[1] |
|
|
user = user || processedArgs._[1] |
|
|
if (!user) throw 'User name required' |
|
|
if (!user) throw 'User name required' |
|
|
var serial_perform_init_gitea = (repo) => { |
|
|
var serial_perform_init_gitea = (repo) => { |
|
|
var options = { cwd: repo } |
|
|
|
|
|
|
|
|
var options = { cwd: instanceroot + '/' + repo } |
|
|
// console.log(repo) |
|
|
// console.log(repo) |
|
|
return [ |
|
|
return [ |
|
|
['git', ['remote', 'add', 'chess', `${defaultRepoServer}/${user}/${repo}.git`], { cwd: repo }] |
|
|
|
|
|
, ['git', ['remote', 'set-url', '--push', 'chess', 'no-pushing'], { cwd: repo }] |
|
|
|
|
|
, ['git', ['remote', 'set-url', 'origin', `${defaultRepoServer}/${user}/${repo}.git`], { cwd: repo }] |
|
|
|
|
|
|
|
|
['git', ['remote', 'add', 'chess', `${defaultRepoServer}/${user}/${repo}.git`], { cwd: instanceroot + '/' + repo }] |
|
|
|
|
|
, ['git', ['remote', 'set-url', '--push', 'chess', 'no-pushing'], { cwd: instanceroot + '/' + repo }] |
|
|
|
|
|
, ['git', ['remote', 'set-url', 'origin', `${defaultRepoServer}/${user}/${repo}.git`], { cwd: instanceroot + '/' + repo }] |
|
|
] |
|
|
] |
|
|
} |
|
|
} |
|
|
var x = (args) => { |
|
|
var x = (args) => { |
|
|
|
|
|
|
|
|
, 'npmi': () => { |
|
|
, 'npmi': () => { |
|
|
var tasks = []; |
|
|
var tasks = []; |
|
|
|
|
|
|
|
|
|
|
|
// Build fails without babel... |
|
|
|
|
|
tasks.push(getShellTask( |
|
|
|
|
|
'npm',[ 'i', '-g', 'babel-cli' ] |
|
|
|
|
|
) ) |
|
|
|
|
|
|
|
|
var npmbuildrepos = ['loopback-jsonapi-model-serializer'] |
|
|
var npmbuildrepos = ['loopback-jsonapi-model-serializer'] |
|
|
|
|
|
npmbuildrepos = [] |
|
|
npmbuildrepos.forEach(repo => { |
|
|
npmbuildrepos.forEach(repo => { |
|
|
tasks.push(() => { |
|
|
tasks.push(() => { |
|
|
return nodeShellExec('npm', ['i --force'], { |
|
|
return nodeShellExec('npm', ['i --force'], { |
|
|
inherit: true, shell: true |
|
|
inherit: true, shell: true |
|
|
, cwd: repo |
|
|
|
|
|
|
|
|
, cwd: instanceroot + '/' + repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title: `npm i for ${repo}` |
|
|
, title: `npm i for ${repo}` |
|
|
}).catch((e) => { |
|
|
}).catch((e) => { |
|
|
|
|
|
|
|
|
console.log(`--------------------npm run build for ${repo}--------------------`) |
|
|
console.log(`--------------------npm run build for ${repo}--------------------`) |
|
|
return nodeShellExec('npm', ['run build'], { |
|
|
return nodeShellExec('npm', ['run build'], { |
|
|
inherit: true, shell: true |
|
|
inherit: true, shell: true |
|
|
, cwd: repo |
|
|
|
|
|
|
|
|
, cwd: instanceroot + '/' + repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title: `npm run build for ${repo}` |
|
|
, title: `npm run build for ${repo}` |
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
|
|
|
|
|
|
gitRepos.push('client/server'); |
|
|
gitRepos.push('client/server'); |
|
|
gitRepos = gitRepos.concat(elevatedRunasRepos); |
|
|
gitRepos = gitRepos.concat(elevatedRunasRepos); |
|
|
|
|
|
|
|
|
|
|
|
// gitRepos = ['bbhverse', 'serververse', 'elixir-server' |
|
|
|
|
|
// , 'client' |
|
|
|
|
|
// ]; |
|
|
var rmtasks = [] |
|
|
var rmtasks = [] |
|
|
var repotasks = [] |
|
|
var repotasks = [] |
|
|
gitRepos.forEach(repo => { |
|
|
gitRepos.forEach(repo => { |
|
|
|
|
|
|
|
|
rmtasks.push(() => { |
|
|
|
|
|
console.log(`--------------------rm package-lock.json for ${repo}--------------------`) |
|
|
|
|
|
return nodeShellExec('rm', ['package-lock.json'], { |
|
|
|
|
|
inherit: true, shell: true |
|
|
|
|
|
, cwd: repo |
|
|
|
|
|
, env: process.env |
|
|
|
|
|
, title: `rm 'package-lock.json' for ${repo}` |
|
|
|
|
|
}).catch((e) => { console.error(e) }) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
rmtasks.push( |
|
|
|
|
|
// () => { |
|
|
|
|
|
// console.log(`--------------------rm package-lock.json for ${repo}--------------------`) |
|
|
|
|
|
// return nodeShellExec(`"${gitbash}"`, ['-c', '"rm package-lock.json"'], { |
|
|
|
|
|
nodeShellExec('rm', ['package-lock.json'], { |
|
|
|
|
|
inherit: true, shell: true |
|
|
|
|
|
, cwd: instanceroot + '/' + repo |
|
|
|
|
|
, env: process.env |
|
|
|
|
|
, title: `rm 'package-lock.json' for ${repo}` |
|
|
|
|
|
}) |
|
|
|
|
|
.then(()=>{ |
|
|
|
|
|
console.log(`--------------------rm package-lock.json for ${repo}--------------------`) |
|
|
|
|
|
}).catch((e) => { console.error(e) }) |
|
|
|
|
|
// } |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
if (npmbuildrepos.indexOf(repo) < 0) { |
|
|
if (npmbuildrepos.indexOf(repo) < 0) { |
|
|
repotasks.push( |
|
|
repotasks.push( |
|
|
|
|
|
|
|
|
console.log(`--------------------npm i for ${repo}--------------------`) |
|
|
console.log(`--------------------npm i for ${repo}--------------------`) |
|
|
var p = nodeShellExec('npm', ['i --force'], { |
|
|
var p = nodeShellExec('npm', ['i --force'], { |
|
|
inherit: true, shell: true |
|
|
inherit: true, shell: true |
|
|
, cwd: repo |
|
|
|
|
|
|
|
|
, cwd: instanceroot + '/' + repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title: `npm i for ${repo}` |
|
|
, title: `npm i for ${repo}` |
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// repotasks.push( |
|
|
|
|
|
// () => { |
|
|
|
|
|
// console.log(`--------------------second time npm i for client--------------------`) |
|
|
|
|
|
// var p = nodeShellExec('npm', ['i --force'], { |
|
|
|
|
|
// inherit: true, shell: true |
|
|
|
|
|
// , cwd: instanceroot + '/' + 'client' |
|
|
|
|
|
// , env: process.env |
|
|
|
|
|
// , title: `npm i for client` |
|
|
|
|
|
// }).then(Tasq.then).catch(Tasq.catch) |
|
|
|
|
|
// return p; |
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
|
var bowerRepos = ['client'] |
|
|
var bowerRepos = ['client'] |
|
|
bowerRepos.forEach(repo => { |
|
|
bowerRepos.forEach(repo => { |
|
|
repotasks.push(() => { |
|
|
repotasks.push(() => { |
|
|
var p = nodeShellExec('bower', ['install'], { |
|
|
|
|
|
|
|
|
console.log(instanceroot + '/' + repo + '/node_modules/bower/bin/bower') |
|
|
|
|
|
var p = nodeShellExec('node_modules/bower/bin/bower', ['install'], { |
|
|
|
|
|
// var p = nodeShellExec(`"${gitbash}"`, ['-c', '"node_modules/bower/bin/bower i"'], { |
|
|
|
|
|
|
|
|
inherit: true, shell: true |
|
|
inherit: true, shell: true |
|
|
, cwd: repo |
|
|
|
|
|
|
|
|
, cwd: instanceroot + '/' + repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title: `bower i for ${repo}` |
|
|
, title: `bower i for ${repo}` |
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
return p; |
|
|
return p; |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// console.log('rmtasks.length : ' + rmtasks.length) |
|
|
return Promise.all(rmtasks).then(() => any(repotasks)); |
|
|
return Promise.all(rmtasks).then(() => any(repotasks)); |
|
|
}).catch(e => { |
|
|
}).catch(e => { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shell: true, |
|
|
shell: true, |
|
|
detached: true, |
|
|
detached: true, |
|
|
stdio: 'ignore', |
|
|
stdio: 'ignore', |
|
|
cwd: 'elixir-server' |
|
|
|
|
|
|
|
|
cwd: instanceroot + '/' + 'elixir-server' |
|
|
, env: env |
|
|
, env: env |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
shell: true, |
|
|
shell: true, |
|
|
detached: true, |
|
|
detached: true, |
|
|
stdio: 'ignore', |
|
|
stdio: 'ignore', |
|
|
cwd: 'client' |
|
|
|
|
|
|
|
|
cwd: instanceroot + '/' + 'client' |
|
|
, env: env |
|
|
, env: env |
|
|
}) |
|
|
}) |
|
|
// .catch(e=>console.error(e)) |
|
|
// .catch(e=>console.error(e)) |
|
|
|
|
|
|
|
|
return nodeShellExec('git', ['checkout', branch || checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], { |
|
|
return nodeShellExec('git', ['checkout', branch || checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], { |
|
|
// return nodeShellExec('git', ['switch', '-m', '-C', checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], { |
|
|
// return nodeShellExec('git', ['switch', '-m', '-C', checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], { |
|
|
// inherit : true, shell: true, |
|
|
// inherit : true, shell: true, |
|
|
cwd: repo |
|
|
|
|
|
|
|
|
cwd: repoinstanceroot + '/' + repo |
|
|
// , stdio : ignore // Use when we want to silcence output completely. |
|
|
// , stdio : ignore // Use when we want to silcence output completely. |
|
|
, runas: processedArgs.runas |
|
|
, runas: processedArgs.runas |
|
|
, title: `git checkout ${branch || checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV} for ${repo}` |
|
|
, title: `git checkout ${branch || checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV} for ${repo}` |
|
|
|
|
|
|
|
|
if (excludeCheckouts[repo]) return Promise.resolve({ 'skipped': true }) |
|
|
if (excludeCheckouts[repo]) return Promise.resolve({ 'skipped': true }) |
|
|
return nodeShellExec('git', ['pull', '--all'], { |
|
|
return nodeShellExec('git', ['pull', '--all'], { |
|
|
// inherit : true, shell: true, |
|
|
// inherit : true, shell: true, |
|
|
cwd: repo |
|
|
|
|
|
|
|
|
cwd: instanceroot + '/' + repo |
|
|
, runas: processedArgs.runas |
|
|
, runas: processedArgs.runas |
|
|
, title: `git pull -all for ${checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV} ${repo}` |
|
|
, title: `git pull -all for ${checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV} ${repo}` |
|
|
}).catch((e) => { console.error(e); return { error: true, message: repo } }) |
|
|
}).catch((e) => { console.error(e); return { error: true, message: repo } }) |
|
|
|
|
|
|
|
|
if (exludeMergeRepos[repo]) return Promise.resolve({ 'skipped': true }) |
|
|
if (exludeMergeRepos[repo]) return Promise.resolve({ 'skipped': true }) |
|
|
return nodeShellExec('git', ['merge', mergeSource], { |
|
|
return nodeShellExec('git', ['merge', mergeSource], { |
|
|
inherit: true, shell: true, |
|
|
inherit: true, shell: true, |
|
|
cwd: repo |
|
|
|
|
|
|
|
|
cwd: instanceroot + '/' + repo |
|
|
, runas: processedArgs.runas |
|
|
, runas: processedArgs.runas |
|
|
}).catch((e) => { console.error(e) }) |
|
|
}).catch((e) => { console.error(e) }) |
|
|
} |
|
|
} |
|
|
if (runconfig.NODE_ENV === 'development') performMerge = () => { return Promise.resolve(true) } |
|
|
if (runconfig.NODE_ENV === 'development') performMerge = () => { return Promise.resolve(true) } |
|
|
|
|
|
|
|
|
any(tasks).then(() => { |
|
|
|
|
|
|
|
|
return any(tasks).then(() => { |
|
|
if (!processedArgs.runas) return op['runas']() |
|
|
if (!processedArgs.runas) return op['runas']() |
|
|
|
|
|
|
|
|
tasks = [ |
|
|
tasks = [ |
|
|
|
|
|
|
|
|
// Use junctions to avoid npm package issues |
|
|
// Use junctions to avoid npm package issues |
|
|
var p = nodeShellExec('mklink', ['/J', 'config', runconfig.use + '-config' + '-' + process.env.NODE_ENV], { |
|
|
var p = nodeShellExec('mklink', ['/J', 'config', runconfig.use + '-config' + '-' + process.env.NODE_ENV], { |
|
|
inherit: true, shell: true |
|
|
inherit: true, shell: true |
|
|
|
|
|
, cwd : instanceroot |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
}).catch((e) => { console.error(e) }) |
|
|
}).catch((e) => { console.error(e) }) |
|
|
return p; |
|
|
return p; |
|
|
|
|
|
|
|
|
() => { |
|
|
() => { |
|
|
var p = nodeShellExec('mklink', ['/J', 'data', runconfig.use + '-data'], { |
|
|
var p = nodeShellExec('mklink', ['/J', 'data', runconfig.use + '-data'], { |
|
|
inherit: true, shell: true |
|
|
inherit: true, shell: true |
|
|
|
|
|
, cwd : instanceroot |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
}).catch((e) => { console.error(e) }) |
|
|
}).catch((e) => { console.error(e) }) |
|
|
return p; |
|
|
return p; |
|
|
|
|
|
|
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var launchpath = process.cwd() |
|
|
|
|
|
|
|
|
var launchpath = process.cwd().replace(/\\/, '/') |
|
|
var thisscriptdir = __dirname |
|
|
var thisscriptdir = __dirname |
|
|
var instanceroot = launchpath; |
|
|
var instanceroot = launchpath; |
|
|
var detectInstance = function () { |
|
|
var detectInstance = function () { |
|
|
|
|
|
|
|
|
// It could be a standalone elxr build which may or maynot be in the proper location. |
|
|
// It could be a standalone elxr build which may or maynot be in the proper location. |
|
|
if (BUILD_VERSION.indexOf('Version: {version} - built on {date}') > -1) { |
|
|
if (BUILD_VERSION.indexOf('Version: {version} - built on {date}') > -1) { |
|
|
// Unbuilt therefore we are in the elxr directory. |
|
|
// Unbuilt therefore we are in the elxr directory. |
|
|
root = path.normalize(launchpath + '../'); |
|
|
|
|
|
|
|
|
root = path.normalize(launchpath + '/..'); |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
// Built version. |
|
|
// Built version. |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
instanceroot = root; |
|
|
|
|
|
|
|
|
instanceroot = root.replace(/\\/, '/'); |
|
|
var __default = { |
|
|
var __default = { |
|
|
|
|
|
|
|
|
// Default is public server only. |
|
|
// Default is public server only. |