mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
Improve build stages (#3744)
* travis precache * rb change * remove ut * add cache warm up * Prepare cache fix * add test * use env variabble to tag * use env to label stages * move lint step at start * use dist for e2e * upload dist in alfresco * modify permissions * travis script node * remove polyfills * revert some changes * fix demo shell run test * solve download * revert debatable gallery change
This commit is contained in:
84
scripts/download-build-in-cs.js
Executable file
84
scripts/download-build-in-cs.js
Executable file
@@ -0,0 +1,84 @@
|
||||
var program = require('commander');
|
||||
var AlfrescoApi = require('alfresco-js-api-node');
|
||||
var http = require('http');
|
||||
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var archiver = require('archiver');
|
||||
var unzipper = require('unzipper');
|
||||
|
||||
var exec = require('child_process').exec;
|
||||
|
||||
replaceHrefInIndex = (folder) => {
|
||||
fs.readFile(`demo-shell/${folder}/index.html`, 'utf8', function (err, data) {
|
||||
if (err) {
|
||||
return console.log(err);
|
||||
}
|
||||
|
||||
var result = data.replace(`base href="/"`, `base href=\"/${folder}/\"`);
|
||||
|
||||
fs.writeFile(`demo-shell/${folder}/index.html`, result, 'utf8', function (err) {
|
||||
if (err) return console.log(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function main() {
|
||||
|
||||
program
|
||||
.version('0.1.0')
|
||||
.option('-p, --password [type]', 'password')
|
||||
.option('-u, --username [type]', 'username')
|
||||
.option('--base-href [type]', '')
|
||||
.option('-f, --folder [type]', 'Name of the folder')
|
||||
.option('-host, --host [type]', 'URL of the CS')
|
||||
.parse(process.argv);
|
||||
|
||||
let alfrescoJsApi = new AlfrescoApi({
|
||||
provider: 'ECM',
|
||||
hostEcm: program.host
|
||||
});
|
||||
|
||||
alfrescoJsApi.login(program.username, program.password);
|
||||
|
||||
let zipDemoNode;
|
||||
|
||||
try {
|
||||
zipDemoNode = await alfrescoJsApi.nodes.getNode('-my-', {
|
||||
'relativePath': `Builds/${program.folder}/demo.zip`
|
||||
});
|
||||
} catch (error) {
|
||||
console.log('error: ' + error);
|
||||
}
|
||||
|
||||
const url = await alfrescoJsApi.content.getContentUrl(zipDemoNode.entry.id, true);
|
||||
|
||||
console.log('Download zip');
|
||||
|
||||
let outputFolder = program.baseHref ? program.baseHref : 'dist';
|
||||
|
||||
var file = fs.createWriteStream('demo.zip');
|
||||
http.get(`http://${url}`, (response) => {
|
||||
response.pipe(file);
|
||||
file.on('finish', async () => {
|
||||
console.log('Unzip Demo ' + path.join(__dirname, '../demo.zip'));
|
||||
fs.createReadStream(path.join(__dirname, '../demo.zip'))
|
||||
.pipe(unzipper.Extract({path: path.join(__dirname, '../demo-shell')}))
|
||||
.on('finish', () => {
|
||||
exec(`mv demo-shell/demo.zip demo-shell/${outputFolder}`, (err, stdout, stderr) => {
|
||||
if (err) {
|
||||
console.log(`err: ${err}`);
|
||||
return;
|
||||
}
|
||||
|
||||
if(program.baseHref) {
|
||||
replaceHrefInIndex(outputFolder);
|
||||
}
|
||||
});
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
main();
|
Reference in New Issue
Block a user