mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #549 from sharelatex/hof-replace-grunt-init
Replace grunt service initialisation with bash script
This commit is contained in:
commit
a1b40b3663
2 changed files with 32 additions and 31 deletions
|
@ -87,9 +87,11 @@ module.exports = (grunt) ->
|
|||
grunt.registerTask 'install:all', "Download and set up all ShareLaTeX services",
|
||||
[].concat(
|
||||
("install:#{service.name}" for service in SERVICES)
|
||||
)
|
||||
).concat(['postinstall'])
|
||||
|
||||
grunt.registerTask 'install', 'install:all'
|
||||
grunt.registerTask 'postinstall', 'Explain postinstall steps', () ->
|
||||
Helpers.postinstallMessage @async()
|
||||
|
||||
grunt.registerTask 'update:all', "Checkout and update all ShareLaTeX services",
|
||||
["check:make"].concat(
|
||||
|
@ -120,16 +122,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,26 +149,16 @@ 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()
|
||||
postinstallMessage: (callback = (error) ->) ->
|
||||
grunt.log.write """
|
||||
Services cloned:
|
||||
#{service.name for service in SERVICES}
|
||||
To install services run:
|
||||
$ source bin/install-services
|
||||
This will install the required node versions and run `npm install` for each service.
|
||||
See https://github.com/sharelatex/sharelatex/pull/549 for more info.
|
||||
"""
|
||||
callback()
|
||||
|
||||
checkMake: (callback = (error) ->) ->
|
||||
grunt.log.write "Checking make is installed... "
|
||||
|
|
15
server-ce/bin/install-services
Normal file
15
server-ce/bin/install-services
Normal file
|
@ -0,0 +1,15 @@
|
|||
#! env bash
|
||||
|
||||
grep 'name:' config/services.js | \
|
||||
sed 's/.*name: "\(.*\)",/\1/' | \
|
||||
while read service
|
||||
do
|
||||
pushd $service &&
|
||||
echo "Installing Service $service" &&
|
||||
echo ' installing Node' &&
|
||||
nvm install &&
|
||||
nvm use &&
|
||||
echo ' installing Dependencies' &&
|
||||
npm install
|
||||
popd
|
||||
done
|
Loading…
Reference in a new issue