OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/bin/setup_dev

42 lines
1.4 KiB

#!/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 ... "
Move asset pipeline javascripts to frontend (#8482) * ove reporting and reporting_engine js to frontend page * Replace webhook assets javascript * Add path augment service to dynamically load scripts * Remove JS-Files that are not used/not needed any more * Include AugmentingModule correctly * Remove special handling for checkbox selection which is outdated and two jquery libs that are not used any more * Load scripts dynamically that are not needed globally * Move plugin JS to frontend * Move toggable fieldsets to global listeners * Move top-menu to global listeners and convert to TS * Move action_menu to frontend and port to TS * Move settings listener to frontend * Remove global js assets that were not used anyway * Move date range to timelog dynamic script where it's still used until removed * Move colors to global-listeners and port to TS * Replace tooltip with simple form instructions on the one place used Tooltips were only used at the one place in our application, when changing a users password. We can simply remove it there and use a modern solution the next time we need a tooltip * Move danger zone validation to frontend and port to TS * Move colorcontrast to backlogs vendor where it's used now * Remove contents of application.js.erb * Move project and user scripts to dynamically loaded * Move onboarding tour to dynamically loaded * Use correct syntax for jQuery so that $ is known keyword within this function * Fix onboarding tour * Fix onboarding tour for scrum tour * Fix specs after moving JS * Remove application.js.erb * Move locales and ckeditor to the frontend to dynamically load * Remove bundles caches These are no longer being used since angular cli * Ensure locales are exported before angular Co-authored-by: Henriette Darge <h.darge@openproject.com>
4 years ago
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'
echo "Installing node_modules ... "
try '(cd frontend && npm ci) >> log/setup_dev.log'
echo "Linking plugin modules"
try 'bundle exec rake openproject:plugins:register_frontend >> log/setup_dev.log'
echo "Exporting frontend locale files"
try 'bundle exec rake i18n:js:export >> 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 '- Delayed Job worker: `RAILS_ENV=development bin/rails jobs:work`'
echo ""
echo 'You can also run `foreman start -f Procfile.dev` to run all the above on a single terminal.'
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`'