OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/bin/setup_dev

38 lines
1.2 KiB

#!/bin/bash
#
# Deletes bundled javascript assets and rebuilds them.
# Useful for when your frontend doesn't work (jQuery not defined etc.) for seemingly no reason at all.
yell() { echo -e "$0: $*" >&2; }
die() { yell "$*"; exit 1; }
try() { eval "$@" || die "\n\nFailed to run '$*', check log/setup_dev.log for more information."; }
printf "Clearing previous bundle ... "
rm -rf app/assets/javascripts/bundles/*
rm -f log/setup_dev.log
echo "done."
printf "Bundling rails dependencies ... "
try 'bundle install >> log/setup_dev.log'
echo "done."
echo "Installing node_modules ... "
try 'npm install --no-shrinkwrap >> log/setup_dev.log'
echo "Linking plugin modules"
try 'bundle exec rake openproject:plugins:register_frontend >> log/setup_dev.log'
printf "Building legacy webpack bundle ... "
try 'npm run legacy-webpack >> log/setup_dev.log'
echo "done."
echo "---------------------------------------"
echo "Done. Now start the following services"
echo '- Rails server `RAILS_ENV=development ./bin/rails s`'
echo '- Angular CLI: `npm run serve`'
echo '- (Optional, only if you work on frontend/legacy): `npm run legacy-webpack-watch`'
echo ""
echo 'You can also run `foreman start -f Procfile.dev` to run all the above on a single terminal.'