|  |  | @@ -18,7 +18,8 @@ const cliargs = require('../elxr/cliargs'); // Use minimist... | 
		
	
		
			
			|  |  |  | const processedArgs = cliargs(process.argv.slice(2)); | 
		
	
		
			
			|  |  |  | console.dir(processedArgs) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var path = require('path') | 
		
	
		
			
			|  |  |  | var path = require('path'); | 
		
	
		
			
			|  |  |  | const { isMaster } = require('cluster'); | 
		
	
		
			
			|  |  |  | // Serialize a set of functions that will execute to return a promises one after the other. | 
		
	
		
			
			|  |  |  | // Will stop when any one fails. | 
		
	
		
			
			|  |  |  | function any(iterable, continueOnFailure) { | 
		
	
	
		
			
			|  |  | @@ -533,6 +534,12 @@ var __runcmd = function(label){ | 
		
	
		
			
			|  |  |  | kill(serverPid) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | , 'use' : ()=>{ | 
		
	
		
			
			|  |  |  | // use a certain named instance. | 
		
	
		
			
			|  |  |  | //  Eg : | 
		
	
		
			
			|  |  |  | // 1) elxr use elixir | 
		
	
		
			
			|  |  |  | // 2) elxr use cihsr | 
		
	
		
			
			|  |  |  | // If environment is not specified defaults to development. | 
		
	
		
			
			|  |  |  | // 1) NODE=test elxr use elixir | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | var runconfig = { NODE_ENV : process.env.NODE_ENV } | 
		
	
		
			
			|  |  |  | try { runconfig = Object.assign(runconfig, require('../run.js')) } catch(e) { } | 
		
	
	
		
			
			|  |  | @@ -569,6 +576,18 @@ var __runcmd = function(label){ | 
		
	
		
			
			|  |  |  | // console.log(process.env.cwd) | 
		
	
		
			
			|  |  |  | fs.writeFileSync('./run.js', 'module.exports = ' + JSON.stringify(runconfig)) | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | var checkoutMap = { | 
		
	
		
			
			|  |  |  | 'development' : 'master', | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // -b fails... | 
		
	
		
			
			|  |  |  | var performCheckout = (repo)=>{ | 
		
	
		
			
			|  |  |  | return nodeShellExec('git', ['checkout', checkoutMap[runconfig.NODE_ENV] || runconfig.NODE_ENV], { | 
		
	
		
			
			|  |  |  | inherit : true, shell: true, | 
		
	
		
			
			|  |  |  | cwd : repo | 
		
	
		
			
			|  |  |  | }).catch((e)=>{ console.error(e) }) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | any(tasks).then(()=>{ | 
		
	
		
			
			|  |  |  | if(!processedArgs.runas) return op['runas']() | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
			|  |  | @@ -595,7 +614,12 @@ var __runcmd = function(label){ | 
		
	
		
			
			|  |  |  | ] | 
		
	
		
			
			|  |  |  | ) | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | return any(tasks).then(()=>{ | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | return any(tasks.concat([ | 
		
	
		
			
			|  |  |  | any(gitRepos.map((repo)=>performCheckout(repo))), | 
		
	
		
			
			|  |  |  | any(elevatedRunasRepos.map((repo)=>performCheckout(repo))) | 
		
	
		
			
			|  |  |  | ]) | 
		
	
		
			
			|  |  |  | ).then(()=>{ | 
		
	
		
			
			|  |  |  | fs.writeFileSync('run.done', 'success') | 
		
	
		
			
			|  |  |  | }).catch(()=>{ | 
		
	
		
			
			|  |  |  | fs.writeFileSync('run.done', 'error') |