Files
openproject/bin/setup_dev
T
Eric Schubert 4f488abe5c [chore] remove lefthook from Gemfile
- installation of lefthook is now in the responsibility of the developer
- reasoning: the different development settings require different setups
  nevertheless
2026-04-14 17:06:46 +02:00

51 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env 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 "Bundling rails dependencies ... "
try 'bundle install > log/setup_dev.log'
echo "done."
echo "Migrating database"
try 'bundle exec rake db:migrate'
echo "Removing public assets"
try 'rm -rf public/assets >> log/setup_dev.log'
try 'echo "{}" > config/frontend_assets.manifest.json'
echo "Installing node_modules ... "
try '(cd frontend && npm ci) >> log/setup_dev.log'
echo "Installing hocuspocus dependencies..."
try '(cd extensions/op-blocknote-hocuspocus && npm ci) >> log/setup_dev.log'
echo "Linking plugin modules and exporting frontend locale files"
try 'bundle exec rails openproject:plugins:register_frontend assets:export_locales >> log/setup_dev.log'
echo "---------------------------------------"
echo "Done. Now start the following services"
echo '- Rails server `RAILS_ENV=development bin/rails server`'
echo '- Angular CLI: `npm run serve`'
echo '- Good Job worker: `RAILS_ENV=development bundle exec good_job start`'
echo ""
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'
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`'