2020-11-12 15:05:03 +01:00
|
|
|
#!/usr/bin/env bash
|
2018-06-27 09:14:26 +02:00
|
|
|
#
|
|
|
|
|
# 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 "Bundling rails dependencies ... "
|
2020-07-09 11:02:43 +02:00
|
|
|
try 'bundle install > log/setup_dev.log'
|
2018-06-27 09:14:26 +02:00
|
|
|
echo "done."
|
|
|
|
|
|
2021-12-10 10:39:53 +00:00
|
|
|
echo "Migrating database"
|
|
|
|
|
try 'bundle exec rake db:migrate'
|
|
|
|
|
|
2021-09-14 11:00:41 +02:00
|
|
|
echo "Removing public assets"
|
|
|
|
|
try 'rm -rf public/assets >> log/setup_dev.log'
|
2025-08-27 11:44:37 +02:00
|
|
|
try 'echo "{}" > config/frontend_assets.manifest.json'
|
2021-08-03 09:09:51 +02:00
|
|
|
|
2018-06-27 09:14:26 +02:00
|
|
|
echo "Installing node_modules ... "
|
2021-07-19 08:29:44 +02:00
|
|
|
try '(cd frontend && npm ci) >> log/setup_dev.log'
|
2018-06-27 09:14:26 +02:00
|
|
|
|
2025-08-27 11:43:45 +02:00
|
|
|
echo "Linking plugin modules and exporting frontend locale files"
|
|
|
|
|
try 'bundle exec rails openproject:plugins:register_frontend assets:export_locales >> log/setup_dev.log'
|
2020-09-15 09:51:29 +02:00
|
|
|
|
2018-06-27 09:14:26 +02:00
|
|
|
echo "---------------------------------------"
|
|
|
|
|
echo "Done. Now start the following services"
|
2022-04-08 15:17:34 +02:00
|
|
|
echo '- Rails server `RAILS_ENV=development bin/rails server`'
|
2018-06-27 09:14:26 +02:00
|
|
|
echo '- Angular CLI: `npm run serve`'
|
2024-03-07 13:59:24 +01:00
|
|
|
echo '- Good Job worker: `RAILS_ENV=development bundle exec good_job start`'
|
2018-06-27 09:14:26 +02:00
|
|
|
echo ""
|
2023-05-24 17:03:51 -05:00
|
|
|
echo 'You can also run `bin/dev` to run all the above on a single terminal.'
|
|
|
|
|
echo ""
|
|
|
|
|
echo "If you'd like an enhanced development experience and interaction"
|
|
|
|
|
echo 'with the individual services, install Overmind. `bin/dev` will'
|
|
|
|
|
echo 'prefer using Overmind over Foreman if available.'
|
2022-06-23 16:53:14 +02:00
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo 'Setting up git hooks'
|
|
|
|
|
echo 'If you want to have commit hooks for rubocop and eslint errors, you can install lefthook like so:'
|
|
|
|
|
echo '`bundle exec lefthook install`'
|