|
|
|
|
|
|
|
|
var any = utils.any; |
|
|
var any = utils.any; |
|
|
var Tasq = utils.Tasq |
|
|
var Tasq = utils.Tasq |
|
|
var statuslog = utils.Traq |
|
|
var statuslog = utils.Traq |
|
|
|
|
|
var Traq = utils.Traq |
|
|
Tasq.addlistener(statuslog.statuslog) |
|
|
Tasq.addlistener(statuslog.statuslog) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var brandName = 'elixir'; |
|
|
var brandName = 'elixir'; |
|
|
// Runas windowshta clobbers and removes the NODE_ENV !!! We therefore pass it in. |
|
|
// Runas windowshta clobbers and removes the NODE_ENV !!! We therefore pass it in. |
|
|
var nodeenv = process.env.NODE_ENV || processedArgs.node_env || 'development' |
|
|
|
|
|
if(nodeenv.trim() === 'production') nodeenv = 'production' |
|
|
|
|
|
|
|
|
var nodeenv = process.env.NODE_ENV.trim() || processedArgs.node_env || 'development' |
|
|
|
|
|
|
|
|
// var repomanifest = require('../'+brandName+'-config-'+ nodeenv +'/repo-manifest')() |
|
|
// var repomanifest = require('../'+brandName+'-config-'+ nodeenv +'/repo-manifest')() |
|
|
var exludeMergeRepos = []; |
|
|
var exludeMergeRepos = []; |
|
|
var useGitPull = processedArgs.useGitPull || false; |
|
|
var useGitPull = processedArgs.useGitPull || false; |
|
|
|
|
|
|
|
|
var configpath = '../' + configrepo; |
|
|
var configpath = '../' + configrepo; |
|
|
var configPromise = null |
|
|
var configPromise = null |
|
|
|
|
|
|
|
|
if(!existsSync(configpath)){ |
|
|
|
|
|
configPromise = performPull(configrepo) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if(!existsSync(configpath)){ configPromise = performPull(configrepo) } |
|
|
else configPromise = Promise.resolve(true) |
|
|
else configPromise = Promise.resolve(true) |
|
|
|
|
|
|
|
|
configPromise.then(()=>{ |
|
|
configPromise.then(()=>{ |
|
|
|
|
|
|
|
|
var manifestpath = '../'+brandName+'-config-'+nodeenv+'/repo-manifest'; |
|
|
var manifestpath = '../'+brandName+'-config-'+nodeenv+'/repo-manifest'; |
|
|
// var manifestpath = '../'+brandName+'-config-'+'production'+'/repo-manifest'; |
|
|
// var manifestpath = '../'+brandName+'-config-'+'production'+'/repo-manifest'; |
|
|
console.dir(manifestpath) |
|
|
|
|
|
|
|
|
// console.dir(manifestpath) |
|
|
var repomanifest = require(manifestpath)() |
|
|
var repomanifest = require(manifestpath)() |
|
|
console.dir(repomanifest) |
|
|
|
|
|
|
|
|
// console.dir(repomanifest) |
|
|
|
|
|
|
|
|
var gitRepos = repomanifest.repos |
|
|
var gitRepos = repomanifest.repos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// elxr pull -- Defaults to run config |
|
|
// elxr pull -- Defaults to run config |
|
|
|
|
|
|
|
|
var env = Object.assign({}, process.env); // Shallow clone it. |
|
|
var env = Object.assign({}, process.env); // Shallow clone it. |
|
|
// console.dir(env) |
|
|
|
|
|
console.log('Running exlr pull : ' + path.dirname(__dirname)) |
|
|
console.log('Running exlr pull : ' + path.dirname(__dirname)) |
|
|
// nodeShellExec('cmd', ['/c', 'setup\\utility\\chess.bat', 'pull'], { |
|
|
|
|
|
// // nodeShellExec('cmd', ['/c', '..\\setup\\utility\\chess.bat', 'pull'], { |
|
|
|
|
|
// stdio: ['pipe', process.stdout, process.stderr], |
|
|
|
|
|
// inherit : true, |
|
|
|
|
|
// shell: true, |
|
|
|
|
|
// cwd : path.dirname(__dirname), |
|
|
|
|
|
// env: env |
|
|
|
|
|
// }) |
|
|
|
|
|
|
|
|
|
|
|
var useGitPull = processedArgs.useGitPull || false; |
|
|
var useGitPull = processedArgs.useGitPull || false; |
|
|
var getPullCmd = (repo)=>{ |
|
|
var getPullCmd = (repo)=>{ |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
, 'npmi' : ()=>{ |
|
|
, 'npmi' : ()=>{ |
|
|
var tasks = []; |
|
|
var tasks = []; |
|
|
var bowerRepos = ['client'] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var npmbuildrepos = ['loopback-jsonapi-model-serializer'] |
|
|
var npmbuildrepos = ['loopback-jsonapi-model-serializer'] |
|
|
npmbuildrepos.forEach(repo => { |
|
|
npmbuildrepos.forEach(repo => { |
|
|
tasks.push(()=>{ |
|
|
tasks.push(()=>{ |
|
|
var p = nodeShellExec('npm', ['i --force'], { |
|
|
|
|
|
|
|
|
return nodeShellExec('npm', ['i --force'], { |
|
|
inherit : true, shell: true |
|
|
inherit : true, shell: true |
|
|
, cwd : repo |
|
|
, cwd : repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title : `npm i for ${repo}` |
|
|
, title : `npm i for ${repo}` |
|
|
}).catch((e)=>{ |
|
|
}).catch((e)=>{ |
|
|
console.error('Ignoring Benign Error'); console.error(e) |
|
|
|
|
|
|
|
|
console.error('Ignoring Benign Error'); console.error(e); |
|
|
}).then(()=>{ |
|
|
}).then(()=>{ |
|
|
|
|
|
|
|
|
|
|
|
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 : repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title : `npm run build for ${repo}` |
|
|
, title : `npm run build for ${repo}` |
|
|
}).catch(Tasq.catch) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return p; |
|
|
|
|
|
|
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
|
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
any(tasks).then(()=>{ |
|
|
any(tasks).then(()=>{ |
|
|
|
|
|
|
|
|
gitRepos = gitRepos.concat(elevatedRunasRepos); |
|
|
|
|
|
gitRepos.push('client/server'); |
|
|
gitRepos.push('client/server'); |
|
|
|
|
|
gitRepos = gitRepos.concat(elevatedRunasRepos); |
|
|
|
|
|
|
|
|
|
|
|
var rmtasks = [] |
|
|
var repotasks = [] |
|
|
var repotasks = [] |
|
|
gitRepos.forEach(repo => { |
|
|
gitRepos.forEach(repo => { |
|
|
|
|
|
|
|
|
console.log('npm i for ' + repo) |
|
|
|
|
|
repotasks.push( |
|
|
|
|
|
nodeShellExec('rm', ['package-lock.json'], { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rmtasks.push(()=>{ |
|
|
|
|
|
console.log(`--------------------rm package-lock.json for ${repo}--------------------`) |
|
|
|
|
|
return nodeShellExec('rm', ['package-lock.json'], { |
|
|
inherit : true, shell: true |
|
|
inherit : true, shell: true |
|
|
, cwd : repo |
|
|
, cwd : repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title : `rm 'package-lock.json' for ${repo}` |
|
|
, title : `rm 'package-lock.json' for ${repo}` |
|
|
}).catch((e)=>{console.error(e)}) |
|
|
|
|
|
.then(()=>{ |
|
|
|
|
|
|
|
|
|
|
|
if( npmbuildrepos.indexOf(repo) < 0) { |
|
|
|
|
|
// tasks.push(()=>{ |
|
|
|
|
|
|
|
|
}).catch((e)=>{console.error(e)}) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
if( npmbuildrepos.indexOf(repo) < 0) { |
|
|
|
|
|
repotasks.push( |
|
|
|
|
|
()=>{ |
|
|
|
|
|
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 : repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title : `npm i for ${repo}` |
|
|
, title : `npm i for ${repo}` |
|
|
}).catch(Tasq.catch) |
|
|
|
|
|
|
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
return p; |
|
|
return p; |
|
|
// }) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
var bowerRepos = ['client'] |
|
|
bowerRepos.forEach(repo => { |
|
|
bowerRepos.forEach(repo => { |
|
|
repotasks.push(()=>{ |
|
|
repotasks.push(()=>{ |
|
|
var p = nodeShellExec('bower', ['install'], { |
|
|
var p = nodeShellExec('bower', ['install'], { |
|
|
|
|
|
|
|
|
, cwd : repo |
|
|
, cwd : repo |
|
|
, env: process.env |
|
|
, env: process.env |
|
|
, title : `bower i for ${repo}` |
|
|
, title : `bower i for ${repo}` |
|
|
}).catch(Tasq.catch) |
|
|
|
|
|
|
|
|
}).then(Tasq.then).catch(Tasq.catch) |
|
|
return p; |
|
|
return p; |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
return any(repotasks); |
|
|
|
|
|
|
|
|
return Promise.all(rmtasks).then(()=>any(repotasks)); |
|
|
}).catch(e=>{ |
|
|
}).catch(e=>{ |
|
|
|
|
|
|
|
|
}).finally(statuslog.finally) |
|
|
}).finally(statuslog.finally) |