mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
When a gem is missing, it looks like a big ugly error. But we don't need to see this, because bundle install will run next and tell us which gems its installing. Bundle check isn't actually necessary because bundle install will handle this, but for some reason it's 300ms slower. So I chose to keep 'check' to help keep this script nice and quick.
39 lines
1.2 KiB
Ruby
Executable File
39 lines
1.2 KiB
Ruby
Executable File
#!/usr/bin/env ruby
|
|
require "fileutils"
|
|
|
|
# path to your application root.
|
|
APP_ROOT = File.expand_path("..", __dir__)
|
|
|
|
BUNDLE_ENV = { "BUNDLE_SUPPRESS_INSTALL_USING_MESSAGES"=> "true" }
|
|
|
|
def system!(*args)
|
|
system(*args) || abort("\n== Command #{args} failed ==")
|
|
end
|
|
|
|
FileUtils.chdir APP_ROOT do
|
|
# This script is a way to set up or update your development environment automatically.
|
|
# This script is idempotent, so that you can run it at any time and get an expectable outcome.
|
|
# Add necessary setup steps to this file.
|
|
|
|
puts "== Installing dependencies =="
|
|
system! "script/install-bundler"
|
|
# Check first (it's quicker), then install new gems if necessary
|
|
system("bundle check 2> /dev/null") || system!(BUNDLE_ENV, "bundle install")
|
|
|
|
# Install JavaScript dependencies
|
|
system("bin/yarn")
|
|
|
|
# puts "\n== Copying sample files =="
|
|
# unless File.exist?("config/database.yml")
|
|
# FileUtils.cp "config/database.yml.sample", "config/database.yml"
|
|
# end
|
|
|
|
puts "\n== Preparing database, removing old logs and tempfiles =="
|
|
system! "bin/rails db:prepare log:clear tmp:clear"
|
|
|
|
puts "\n== Restarting application server =="
|
|
# system! "bin/rails restart"
|
|
# Faster to do it manually:
|
|
system! "touch tmp/restart.txt"
|
|
end
|