From aa579d6c1f566d58b4fba2efe69586ff41ba6fe0 Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Tue, 11 Sep 2018 10:38:25 +0100 Subject: [PATCH] add unzip retry --- scripts/download-build-in-cs.js | 58 +++++++++++++++++------------ scripts/download-build-lib-in-cs.js | 45 +++++++++++++--------- 2 files changed, 61 insertions(+), 42 deletions(-) diff --git a/scripts/download-build-in-cs.js b/scripts/download-build-in-cs.js index 768bf63321..8314f0c953 100755 --- a/scripts/download-build-in-cs.js +++ b/scripts/download-build-in-cs.js @@ -21,6 +21,39 @@ replaceHrefInIndex = (folder) => { }); } +unzipRetry = (tentativeNumber, outputFolder) => { + + console.log('Unzip Demo ' + path.join(__dirname, '../demo.zip')); + setTimeout(() => { + fs.createReadStream(path.join(__dirname, '../demo.zip')) + .pipe(unzip.Extract({path: path.join(__dirname, '../demo-shell')})) + .on('error', () => { + if (tentativeNumber <= 4) { + + setTimeout(() => { + unzipRetry(tentativeNumber++, outputFolder); + }, 10000); + } + }) + .on('finish', () => { + + setTimeout(() => { + let oldFolder = path.join(__dirname, `../demo-shell/demo.zip`) + let newFolder = path.join(__dirname, `../demo-shell/${outputFolder}`) + + fs.rename(oldFolder, newFolder, (err) => { + console.log('renamed complete'); + }); + + if (program.baseHref) { + replaceHrefInIndex(outputFolder); + } + }, 10000); + + }) + }, 10000); +} + async function main() { program @@ -59,30 +92,7 @@ async function main() { http.get(`http://${url}`, (response) => { response.pipe(file); file.on('finish', async () => { - console.log('Unzip Demo ' + path.join(__dirname, '../demo.zip')); - - setTimeout(() => { - fs.createReadStream(path.join(__dirname, '../demo.zip')) - .pipe(unzip.Extract({path: path.join(__dirname, '../demo-shell')})) - .on('finish', () => { - - setTimeout(() => { - let oldFolder = path.join(__dirname, `../demo-shell/demo.zip`) - let newFolder = path.join(__dirname, `../demo-shell/${outputFolder}`) - - fs.rename(oldFolder, newFolder, (err) => { - console.log('renamed complete'); - }); - - if (program.baseHref) { - replaceHrefInIndex(outputFolder); - } - }, 10000); - - }) - }, 10000); - - + unzipRetry(1, outputFolder); }); }); } diff --git a/scripts/download-build-lib-in-cs.js b/scripts/download-build-lib-in-cs.js index 955e5cc026..9b7467798c 100644 --- a/scripts/download-build-lib-in-cs.js +++ b/scripts/download-build-lib-in-cs.js @@ -11,30 +11,39 @@ var exec = require('child_process').exec; var alfrescoJsApi; +unzipRetry = (tentativeNumber, pacakge, outputFolder) => { + console.log(`Unzip ${pacakge}` + path.join(__dirname, `../${pacakge}.zip`)); + fs.createReadStream(path.join(__dirname, `../${pacakge}.zip`)) + .pipe(unzip.Extract({path: path.join(__dirname, `../${outputFolder}/@alfresco/`)})) + .on('error', () => { + if (tentativeNumber <= 4) { + setTimeout(() => { + unzipRetry(tentativeNumber++, pacakge, outputFolder); + }, 10000); + } + }) + .on('finish', () => { + setTimeout(() => { + let oldFolder = path.join(__dirname, `../${outputFolder}/@alfresco/${pacakge}`) + let newFolder = path.join(__dirname, `../${outputFolder}/@alfresco/adf-${pacakge}`) + + fs.rename(oldFolder, newFolder, (err) => { + console.log('renamed complete'); + }); + + }, 10000); + }) +} + downloadZip = async (url, outputFolder, pacakge) => { - console.log(`Download ${pacakge}`) - console.log(`OutputFolder ${outputFolder}`) + console.log(`Download ${pacakge}`) + console.log(`OutputFolder ${outputFolder}`) var file = fs.createWriteStream(`${pacakge}.zip`); return await http.get(`http://${url}`, (response) => { response.pipe(file); file.on('finish', async () => { - setTimeout(() => { - console.log(`Unzip ${pacakge}` + path.join(__dirname, `../${pacakge}.zip`)); - fs.createReadStream(path.join(__dirname, `../${pacakge}.zip`)) - .pipe(unzip.Extract({path: path.join(__dirname, `../${outputFolder}/@alfresco/`)})) - .on('finish', () => { - setTimeout(() => { - let oldFolder = path.join(__dirname, `../${outputFolder}/@alfresco/${pacakge}`) - let newFolder = path.join(__dirname, `../${outputFolder}/@alfresco/adf-${pacakge}`) - - fs.rename(oldFolder, newFolder, (err) => { - console.log('renamed complete'); - }); - - }, 10000); - }) - }) + unzipRetry(1, pacakge, outputFolder); }); }); }