Skip to content
Snippets Groups Projects
Commit 1dbd00a5 authored by Josefine Wegert's avatar Josefine Wegert
Browse files

current working directory in exec fixed

parent 272eefe9
No related branches found
No related tags found
No related merge requests found
......@@ -59,12 +59,13 @@ let clientCounter = 0;
app.get('/download', function(req, res, next){
const checkedFiles = req.query.checkedFiles.split(',');
let clientName;
const zip = new JSZip();
zip.file("README.txt", "text for README");
//holds promises for backend and/or frontend for synchronizing
const promiseArray = []
const checkedFiles = req.query.checkedFiles.split(',');
if (clientCounter > 5){
......@@ -98,7 +99,7 @@ if (backendChecked){
return backendFunctions.backendClean(clientName, fileName).then(function(){
return backendFunctions.backendPull(clientName, fileName).then(function(){
return backendFunctions.backendInstallAddons(checkedFiles,downloadFiles,clientName).then(function(){
return backendFunctions.backendBuild(clientName, fileName)
return backendFunctions.backendBuild(checkedFiles, clientName, fileName)
})
})
})
......
......@@ -2,8 +2,6 @@ const express = require('express');
const exec = require('child_process').exec;
function prepareClientFolder(clientName, fileName){
return new Promise((resolve,reject)=>{
......@@ -26,11 +24,12 @@ function prepareClientFolder(clientName, fileName){
}
//remove addons from former builds
function backendClean(clientName, fileName){
return new Promise((resolve,reject)=>{
exec('cd ' + clientName + '/explorviz-ui-backend/plugins/net/explorviz/ && rm -rf plugins/*', (error, stdout,stderr)=>{
const path= process.cwd()+'/' + clientName + '/explorviz-ui-backend/plugins/net/explorviz/';
exec('rm -rf plugins/*',{cwd:path}, (error, stdout,stderr)=>{
if (error) {
console.log('backendClean:', error);
......@@ -51,7 +50,8 @@ function backendPull(clientName, fileName){
return new Promise((resolve, reject)=> {
exec('cd ' + clientName + '/' + fileName + ' && git pull ', (error, stdout, stderr) => {
const path= process.cwd()+'/'+clientName + '/'+ fileName;
exec('git pull ',{cwd:path} ,(error, stdout, stderr) => {
if (error) {
console.log('backendPull:', error);
......@@ -72,6 +72,8 @@ function backendPull(clientName, fileName){
function backendInstallAddons(checkedFiles,downloadFiles,clientName){
return new Promise((resolve, reject)=>{
checkedPlugins = checkedFiles.filter(function(file){
return /\bexplorviz-backend-plugin-\w*/.exec(file);
});
......@@ -79,7 +81,9 @@ function backendInstallAddons(checkedFiles,downloadFiles,clientName){
if(checkedPlugins.length !== 0 ){
checkedPlugins.forEach((pluginName) => {
exec('cd '+ pluginName + ' && git pull ' + ' && rsync -av . ' + ' ../' + clientName +'/explorviz-ui-backend/plugins/net/explorviz/plugins/ ' + ' --exclude .git', (error, stdout, stderr) => { //'cd explorviz-ui-backend/plugins/net/explorviz/plugins/ ' +
const path= process.cwd()+'/'+ pluginName;
exec('git pull ' + ' && rsync -av . ' + ' ../' + clientName +'/explorviz-ui-backend/plugins/net/explorviz/plugins/ ' + ' --exclude .git',{cwd:path}, (error, stdout, stderr) => { //'cd explorviz-ui-backend/plugins/net/explorviz/plugins/ ' +
if (error) {
console.log('backendInstallAddons:', error);
......@@ -103,10 +107,16 @@ function backendInstallAddons(checkedFiles,downloadFiles,clientName){
}
function backendBuild(clientName, fileName){
function backendBuild(checkedFiles, clientName, fileName){
return new Promise((resolve,reject)=>{
exec('cd '+ clientName + '/' + fileName + ' && mvn compile war:war', (error,stdout,stderr)=> {
const path= process.cwd()+'/'+clientName + '/' + fileName;
exec('mvn compile war:war',{cwd:path}, (error,stdout,stderr)=> {
if (error) {
console.log('backendBuild:', error);
reject(error);
......@@ -115,6 +125,7 @@ function backendBuild(clientName, fileName){
console.log(stdout);
console.log(stderr);
resolve({zipFileName:'backend.war', path: clientName + '/explorviz-ui-backend/target/explorviz-ui-backend-1.0-SNAPSHOT.war'});
......
let express = require('express');
let exec = require('child_process').exec;
const express = require('express');
const exec = require('child_process').exec;
function prepareClientFolder(clientName, fileName){
......@@ -24,10 +23,12 @@ exec('cp -R ' + fileName + '/ ' + clientName + '/',(error,stdout,stderr)=>{
}
//remove addons from former builds
function frontendClean(clientName, fileName){
return new Promise((resolve, reject) => {
exec('cd ' + clientName + '/' + fileName + ' && git checkout package.json && npm prune ', (error, stdout, stderr) => {
const path= process.cwd() + '/'+ clientName + '/' + fileName;
exec('git checkout package.json && npm prune ', {cwd:path}, (error, stdout, stderr) => {
if (error) {
reject(error)
......@@ -36,6 +37,7 @@ exec('cp -R ' + fileName + '/ ' + clientName + '/',(error,stdout,stderr)=>{
console.log(stdout);
console.log(stderr);
resolve();
});
})
......@@ -47,7 +49,8 @@ exec('cp -R ' + fileName + '/ ' + clientName + '/',(error,stdout,stderr)=>{
return new Promise((resolve, reject) => {
exec('cd ' + clientName + '/' + fileName +' && git pull ', (error, stdout, stderr) => {
const path= process.cwd() + '/'+ clientName + '/' + fileName;
exec('git pull ', {cwd:path}, (error, stdout, stderr) => {
if (error) {
reject(error)
......@@ -56,13 +59,14 @@ exec('cp -R ' + fileName + '/ ' + clientName + '/',(error,stdout,stderr)=>{
console.log(stdout);
console.log(stderr);
resolve();
});
})
}
function frontendInstallAddons(clientName, fileName, checkedFiles, downloadFiles){
let pluginsFinished=0;
return new Promise((resolve, reject) => {
checkedPlugins = checkedFiles.filter(function(file){
......@@ -71,8 +75,10 @@ exec('cp -R ' + fileName + '/ ' + clientName + '/',(error,stdout,stderr)=>{
if(checkedPlugins.length !== 0 ){
checkedPlugins.forEach((pluginName) => {
//TODO now addon is listed under dependencies-section in package.json
exec('cd ' + clientName + '/' + fileName + ' && ember install ' + downloadFiles[pluginName] + ' --save', (error, stdout, stderr) => {
const path= process.cwd() + '/'+ clientName + '/' + fileName;
//--save: addon is listed under dependencies-section in package.json
exec('ember install ' + downloadFiles[pluginName] + ' --save', {cwd:path}, (error, stdout, stderr) => {
if (error) {
reject(error);
......@@ -82,13 +88,23 @@ exec('cp -R ' + fileName + '/ ' + clientName + '/',(error,stdout,stderr)=>{
console.log(stdout);
console.log(stderr);
pluginsFinished = pluginsFinished +1;
console.log('checkedPlugins.length: ',checkedPlugins.length);
console.log('pluginsFinished: ', pluginsFinished);
if (checkedPlugins.length == pluginsFinished){
resolve();
}
});
})
//If no plugins were checked by the user, the downloader skips this step by resolving immediately.
} else {
//If no plugins were checked by the user, the downloader skips this step by resolving immediately.
resolve();
}
......@@ -99,7 +115,8 @@ exec('cp -R ' + fileName + '/ ' + clientName + '/',(error,stdout,stderr)=>{
return new Promise((resolve,reject)=> {
exec('cd ' + clientName + '/' + fileName + ' && ember build --environment=production', (error, stdout, stderr) => {
const path= process.cwd() + '/'+ clientName + '/' + fileName;
exec('ember build --environment=production', {cwd:path}, (error, stdout, stderr) => {
if (error) {
reject(error);
......
......@@ -11,6 +11,8 @@
"dependencies": {
"body-parser": "^1.17.1",
"child_process": "^1.0.2",
"ember-cli-test-plugin": "git+https://github.com/ExplorViz/explorviz-frontend-plugin-example.git",
"explorviz-frontend-plugin-colorpicker": "git+https://github.com/ExplorViz/explorviz-frontend-plugin-colorpicker.git",
"express": "^4.15.2",
"express-handlebars": "^3.0.0",
"fs": "0.0.1-security",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment