diff --git a/app.js b/app.js index 58f929d74c8e568f46e805faeba79d147a10dacf..1c532cf24ad51712192450fed6aac309be839c0d 100644 --- a/app.js +++ b/app.js @@ -17,12 +17,12 @@ const downloadFiles = require('./downloadFiles.json'); const downloadNames = Object.keys(downloadFiles); - let app = express(); + var app = express(); - app.use(bodyParser.urlencoded({ - extended: true - })); - app.use(bodyParser.json()); + app.use(bodyParser.urlencoded({ + extended: true + })); + app.use(bodyParser.json()); //set handlebars as view engine app.engine('.hbs', exphbs({extname: '.hbs'})); @@ -88,7 +88,7 @@ function backendClean(){ return new Promise((resolve,reject)=>{ - exec('cd explorviz-ui-backend/plugins/net/explorviz/plugins/ && rm *', (error, stdout,stderr)=>{ + exec('cd explorviz-ui-backend/plugins/net/explorviz/ && rm -rf plugins/*', (error, stdout,stderr)=>{ if (error) { reject(error); return; @@ -107,7 +107,7 @@ return new Promise((resolve, reject)=> { - exec('cd ' + fileName + 'git pull ', (error, stdout, stderr) => { + exec('cd ' + fileName + ' git pull ', (error, stdout, stderr) => { if (error) { reject(error); @@ -133,7 +133,7 @@ if(checkedPlugins.length !== 0 ){ checkedPlugins.forEach((pluginName) => { - exec('git clone ' + downloadFiles[pluginName] + 'cd ' + pluginName + 'cp -r . explorviz-ui-backend/plugins/net/explorviz/plugins/', (error, stdout, stderr) => { //'cd explorviz-ui-backend/plugins/net/explorviz/plugins/ ' + + exec('git clone ' + downloadFiles[pluginName] + ' && cp -R '+ pluginName + '/ '+' explorviz-ui-backend/plugins/net/explorviz/plugins/', (error, stdout, stderr) => { //'cd explorviz-ui-backend/plugins/net/explorviz/plugins/ ' + if (error) { reject(error); @@ -179,7 +179,6 @@ function backendAll(){ return backendClean().then(function(){ - return backendPull().then(function(){ return backendInstallAddons().then(function(){ return backendBuild() @@ -231,7 +230,7 @@ if(checkedPlugins.length !== 0 ){ checkedPlugins.forEach((pluginName) => { - exec('cd ' + 'explorviz-ui-frontend ' + 'ember install ' + downloadFiles[pluginName], (error, stdout, stderr) => { + exec('cd ' + ' explorviz-ui-frontend ' + ' ember install ' + downloadFiles[pluginName], (error, stdout, stderr) => { if (error) { reject(error); @@ -275,16 +274,17 @@ }) - } + console.log('resolve build:', resolve); + } - function frontendAll() { + function frontendAll() { - return frontendPull().then(function(){ - return frontendInstallAddons().then(function(){ - return frontendBuild() - }) - }) - } + return frontendPull().then(function(){ + return frontendInstallAddons().then(function(){ + return frontendBuild() + }) + }) + } //frontend was selected and the next step (streaming to zip) has to wait until the frontend is built promiseArray.push(frontendAll()); finalizeZip(); @@ -316,44 +316,53 @@ function streamFilesToZip(){ let finishedArray=[]; files.forEach(file => { if (file.zipFileName === 'backend.war'){ - const backendSteam = fsReaddir(file.path).on('data', function(data){ - const backendReadStream = fs.createReadStream(data); - zip.file(zipFileName, backendReadStream); - }).on('error', function(){ - console.log('error:', error); - }).on('finish', function(){ - finishedArray.push('backend finished'); - if(finishedArray.length === files.length){ - resolve(); - } - }) - - // backendStream = fs.createReadStream(file.path); - // zip.file(file.zipFileName, backendStream); - // finishedArray.push('backend done'); - } - if(file.zipFileName === 'frontend'){ - const frontendStream = fsReaddir(file.path) - .on('error', function(err) { - console.log('error:', err); - }).on('data', function(data){ - for (let i=0; i<data.length; i++) { - const frontendReadsStream = fs.createReadStream(data[i]); - zip.file(data[i], frontendReadStream); - } - - }).on('finish', function(){ - finishedArray.push('frontend finished'); - if(finishedArray.length === files.length){ - resolve(); - } - }) - - } - - - - }) +// console.log('backendStream:'); +// backendStream = fs.createReadStream(file.path); +// console.log('zip.file:'); +// zip.file(file.zipFileName, backendStream); +// console.log('backend done:'); +// finishedArray.push('backend done'); +const backendStream = fs.readFileSync(file.path, "base64", function(error, data){ + if(error){ + console.log('error:', error) + } +}); + //console.log('backendStream:', backendStream); + const backendReadStream = fs.createReadStream(backendStream); + + zip.file(file.zipFileName, backendReadStream); + finishedArray.push('backend finished'); + if(finishedArray.length === files.length){ + resolve(); + } + + + + + } + if(file.zipFileName === 'frontend'){ + const frontendStream = fsReaddir(file.path) + .on('error', function(err) { + console.log('error:', err); + }).on('data', function(data){ + for (let i=0; i<data.length; i++) { + const frontendReadStream = fs.createReadStream(data[i]); + console.log('data[i]:', data[i]); + zip.file(data[i], frontendReadStream); + } + + }).on('finish', function(){ + finishedArray.push('frontend finished'); + if(finishedArray.length === files.length){ + resolve(); + } + }) + + } + + + + }) }) @@ -365,12 +374,14 @@ function createZip(){ console.log('in createZip'); return new Promise((resolve,reject) => { - zip.generateNodeStream({type:'nodebuffer',streamFiles:true}).pipe(fs.createWriteStream('explorviz-builds.zip')).on('finish', function () { - console.log('explorviz-builds.zip written.'); - res.download('explorviz-builds.zip'); - }); - - }) + zip.generateNodeStream({type:'nodebuffer',streamFiles:true}).pipe(fs.createWriteStream('explorviz-builds.zip')).on('error', function(error){ + console.log('error in createZip:', error); + }).on('finish', function () { + console.log('explorviz-builds.zip written.'); + res.download('explorviz-builds.zip'); + }); + + }) }