Files
openproject/bin/setup_dev
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
1.9 KiB
Bash
Raw Normal View History

#!/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 ... "
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'
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'
2018-06-27 09:14:26 +02:00
echo "Installing node_modules ... "
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'
2018-06-27 09:14:26 +02:00
echo "---------------------------------------"
echo "Done. Now start the following services"
echo '- Rails server `RAILS_ENV=development bin/rails server`'
2018-06-27 09:14:26 +02:00
echo '- Angular CLI: `npm run serve`'
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.'
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`'