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
|
|
|
|
2026-02-12 21:18:28 +03:00
|
|
|
echo "Installing hocuspocus dependencies..."
|
|
|
|
|
try '(cd extensions/op-blocknote-hocuspocus && npm ci) >> log/setup_dev.log'
|
|
|
|
|
|
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'
|
2026-04-14 17:02:13 +02:00
|
|
|
echo 'If you want to have commit hooks for rubocop and eslint errors, you can use lefthook.'
|
|
|
|
|
echo 'We provide a `lefthook.yml`. To install lefthook, use an installation method of your choice, e.g.:'
|
|
|
|
|
echo '`gem install lefthook`'
|
|
|
|
|
echo '(Do not forget to make the executable available on the $PATH.)'
|
|
|
|
|
echo ""
|
|
|
|
|
echo 'To configure the git hooks:'
|
|
|
|
|
echo '`lefthook install`'
|