diff --git a/app.js b/app.js index f3dc3f3ed961ee1bca79d31fdd20e91fb397ba22..0d1c93955b9d6f6b179bc6ec0ea959dd9a244025 100644 --- a/app.js +++ b/app.js @@ -135,7 +135,6 @@ function finalizeZip(){ } function createZip(zip){ - console.log('in createZip'); return new Promise((resolve,reject) => { zip.generateNodeStream({type:'nodebuffer',streamFiles:true}).pipe(fs.createWriteStream('explorviz-builds.zip')).on('error', function(error){ console.log('error in createZip:', error); diff --git a/frontendFunctions.js b/frontendFunctions.js index 4073b531d8b60915d147639c342ada2842fc6e4c..0112c1051bcd7549dd496a1cf38a47a0b331aa10 100644 --- a/frontendFunctions.js +++ b/frontendFunctions.js @@ -4,19 +4,18 @@ function frontendClean(fileName){ return new Promise((resolve, reject) => { - //' git fetch origin && git reset --hard origin/master ' - exec('cd ' + fileName + ' && git checkout package.json && npm prune ', (error, stdout, stderr) => { + exec('cd ' + fileName + ' && git checkout package.json && npm prune ', (error, stdout, stderr) => { - if (error) { - reject(error) - return; - } + if (error) { + reject(error) + return; + } - console.log(stdout); - console.log(stderr); - resolve(); - }); - }) + console.log(stdout); + console.log(stderr); + resolve(); + }); + }) } @@ -49,9 +48,9 @@ if(checkedPlugins.length !== 0 ){ checkedPlugins.forEach((pluginName) => { + //TODO now addon is listed under dependencies-section in package.json exec('cd ' + fileName + ' && ember install ' + downloadFiles[pluginName] + ' --save', (error, stdout, stderr) => { - console.log('in frontendInstallAddons'); - + if (error) { reject(error); return; diff --git a/initializers/gitRepos.js b/initializers/gitRepos.js index 1f35ed391c9cafe9c2cfc3787514d2ef33e15fd3..d69b7cd8139064b97bd0d2f1b8cf07ff31cb968b 100644 --- a/initializers/gitRepos.js +++ b/initializers/gitRepos.js @@ -11,64 +11,63 @@ var exec = require('child_process').exec; }; -function initBackend(downloadFiles){ - const backendName= 'explorviz-ui-backend'; - const downloadBackendURL = downloadFiles[backendName]; + function initBackend(downloadFiles){ + const backendName= 'explorviz-ui-backend'; + const downloadBackendURL = downloadFiles[backendName]; - return new Promise((resolve,reject)=>{ - exec('git clone ' + downloadBackendURL + ' '+ backendName, (error, stdout, stderr) => { + return new Promise((resolve,reject)=>{ + exec('git clone ' + downloadBackendURL + ' '+ backendName, (error, stdout, stderr) => { - if (error) { - console.log('initGitRepos: backendFailed ->', error); - reject(error); - return; - } + if (error) { + reject(error); + return; + } - console.log(stdout); - console.log(stderr); - }); - resolve(downloadFiles); + console.log(stdout); + console.log(stderr); + }); + resolve(downloadFiles); - }); -} + }); + } -function initBackendPlugins(downloadFiles){ - downloadNames = Object.keys(downloadFiles); - - const backendPlugins = downloadNames.filter(function(file){ + function initBackendPlugins(downloadFiles){ + downloadNames = Object.keys(downloadFiles); + + const backendPlugins = downloadNames.filter(function(file){ return /\bexplorviz-backend-plugin-\w*/.exec(file); }); - return new Promise((resolve, reject) => { - if(backendPlugins.length !== 0 ){ + return new Promise((resolve, reject) => { + if(backendPlugins.length !== 0 ){ - backendPlugins.forEach((pluginName) => { - exec('git clone ' + downloadFiles[pluginName], (error, stdout, stderr) => { + backendPlugins.forEach((pluginName) => { + exec('git clone ' + downloadFiles[pluginName], (error, stdout, stderr) => { - if (error) { - reject(error); - return; - } + if (error) { + reject(error); + return; + } - console.log(stdout); - console.log(stderr); + console.log(stdout); + console.log(stderr); - resolve(downloadFiles); + resolve(downloadFiles); - }); + }); - }) - } else { - resolve(downloadFiles); - } + }) + } else { + resolve(downloadFiles); + } -}) + }) -} + } -function initFrontend(downloadFiles){ + function initFrontend(downloadFiles){ return new Promise((resolve,reject)=>{ @@ -77,7 +76,6 @@ function initFrontend(downloadFiles){ exec('git clone ' + downloadFrontendURL + ' ' + frontendName + ' && cd '+ frontendName + ' && npm install', (error, stdout, stderr) => { if (error) { - console.log('initGitRepos: frontendFailed ->', error); reject(error); return; } diff --git a/zipFunctions.js b/zipFunctions.js index bbb793cf455cfddffa63c2a3ddde311cafeda5a8..ef68a053c6eae6ab9576fd61801c3d50692e4a47 100644 --- a/zipFunctions.js +++ b/zipFunctions.js @@ -1,91 +1,79 @@ -var express = require('express'); -var fs = require('fs'); -var fsReaddir = require('fs-readdir'); -var JSZip = require('jszip'); - - -const zip = new JSZip(); -zip.file("README.txt", "text for README"); -let finishedArray=[]; - -function streamFilesToZip(promiseArray){ - - return new Promise((resolve,reject)=> { - - Promise.all(promiseArray).then(files => { - - files.forEach(file => { - if (file.zipFileName === 'backend.war'){ + var express = require('express'); + var fs = require('fs'); + var fsReaddir = require('fs-readdir'); + var JSZip = require('jszip'); + + + const zip = new JSZip(); + zip.file("README.txt", "text for README"); + let finishedArray=[]; + + function streamFilesToZip(promiseArray){ + + return new Promise((resolve,reject)=> { + + Promise.all(promiseArray).then(files => { + + files.forEach(file => { + if (file.zipFileName === 'backend.war'){ + + fs.readFileAsync = function(filePath){ + return new Promise(function (resolve, reject) { + fs.readFile(filePath, function(err, data) { + if (err) { + reject(err); + } else { + resolve(data); + } + + }); + }); + } - fs.readFileAsync = function(filePath){ - return new Promise(function (resolve, reject) { - fs.readFile(filePath, function(err, data) { - if (err) { - reject(err); - } else { - resolve(data); + function addBackendToZip(data){ + return new Promise(function(resolve,reject){ + zip.file(file.zipFileName, data); + resolve(); + }) + } + backendContent = fs.readFileAsync(file.path); + backendContent.then(function(data){ + addBackendToZip(data).then(function(){ + finishedArray.push('backend finished'); + if(finishedArray.length === promiseArray.length){ + resolve(zip); } - }); - }); - } + }) - function addBackendToZip(data){ - return new Promise(function(resolve,reject){ - zip.file(file.zipFileName, data); - resolve(); }) - } - console.log('in backend.war'); - backendContent = fs.readFileAsync(file.path); - backendContent.then(function(data){ - addBackendToZip(data).then(function(){ - finishedArray.push('backend finished'); + } + 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]); + zip.file(data[i], frontendReadStream); + } + }).on('finish', function(){ + finishedArray.push('frontend finished'); if(finishedArray.length === promiseArray.length){ resolve(zip); } - + }) + } - }) - - } - 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]); - zip.file(data[i], frontendReadStream); - } - - }).on('finish', function(){ - finishedArray.push('frontend finished'); - if(finishedArray.length === promiseArray.length){ - resolve(zip); - } - console.log('finishedArray in frontend:', finishedArray); - - - }) - - - - } - - - + }) }) - }) + } - }) -} - -module.exports= { - streamFilesToZip -} + module.exports= { + streamFilesToZip + }