diff --git a/server-ce/Gruntfile.coffee b/server-ce/Gruntfile.coffee index fc2c654427..cab7824da4 100644 --- a/server-ce/Gruntfile.coffee +++ b/server-ce/Gruntfile.coffee @@ -120,16 +120,10 @@ module.exports = (grunt) -> installService: (service, callback = (error) ->) -> console.log "Installing #{service.name}" Helpers.cloneGitRepo service, (error) -> - return callback(error) if error? - Helpers.installNpmModules service, (error) -> - return callback(error) if error? - Helpers.rebuildNpmModules service, (error) -> - return callback(error) if error? - Helpers.runGruntInstall service, (error) -> - return callback(error) if error? - console.log "Finished installing #{service.name}" - callback() - + if error? + callback(error) + else + callback() cloneGitRepo: (service, callback = (error) ->) -> repo_src = service.repo @@ -153,27 +147,6 @@ module.exports = (grunt) -> proc.on "close", () -> callback() - - installNpmModules: (service, callback = (error) ->) -> - dir = service.name - proc = spawn "npm", ["install"], stdio: "inherit", cwd: dir - proc.on "close", () -> - callback() - - # work around for https://github.com/npm/npm/issues/5400 - # where binary modules are not built due to bug in npm - rebuildNpmModules: (service, callback = (error) ->) -> - dir = service.name - proc = spawn "npm", ["rebuild"], stdio: "inherit", cwd: dir - proc.on "close", () -> - callback() - - runGruntInstall: (service, callback = (error) ->) -> - dir = service.name - proc = spawn "grunt", ["install"], stdio: "inherit", cwd: dir - proc.on "close", () -> - callback() - checkMake: (callback = (error) ->) -> grunt.log.write "Checking make is installed... " exec "make --version", (error, stdout, stderr) -> diff --git a/server-ce/bin/install-services b/server-ce/bin/install-services new file mode 100644 index 0000000000..528bb0bd9c --- /dev/null +++ b/server-ce/bin/install-services @@ -0,0 +1,12 @@ +#! env bash + +grep 'name:' config/services.js | \ + sed 's/.*name: "\(.*\)",/\1/' | \ + while read service + do + pushd $service && + nvm install && + nvm use && + npm install + popd + done