mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
4f488abe5c
- installation of lefthook is now in the responsibility of the developer - reasoning: the different development settings require different setups nevertheless
51 lines
1.9 KiB
Bash
Executable File
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`'
|