mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-17 04:34:24 +00:00
Add option to define your own rubocop command
In development, you may choose to use this script in your Git pre-commit hook. Then you want the fastest possible execution to not be delayed in your Git operations. While the default is the safest option, you can now define your own optimised command to avoid loading the whole Rails app environment.
This commit is contained in:
@@ -7,7 +7,25 @@
|
||||
# ./script/rubocop-diff.sh --cached || exit 1
|
||||
#
|
||||
|
||||
rubocop="`dirname $0`/../bin/rubocop"
|
||||
# If you prefer to use faster boot times of the Rubocop Server then you can
|
||||
# define your way of calling rubocop:
|
||||
#
|
||||
# export RUBOCOP_BIN="rubocop --server"
|
||||
#
|
||||
# Or locked to the bundled version (needs update after `bundle update`):
|
||||
#
|
||||
# export RUBOCOP_BIN="`bundle show rubocop`/exe/rubocop --server"
|
||||
#
|
||||
# I don't know how to set that automatically though.
|
||||
#
|
||||
# But I observed some performance improvement:
|
||||
#
|
||||
# * Using default binstup with spring: boot: 6.2s, repeat: 0.4s, 0.4s, ...
|
||||
# * Using rubocop server binstub without bundler: boot: 2s, repeat: 1s, 0.3s, ...
|
||||
# * Using rubocop executable directly: boot: 2.1s, repeat: 1s, 0.16s, ...
|
||||
#
|
||||
# The default binstub is still the safest, always using the bundled version.
|
||||
: ${RUBOCOP_BIN="`dirname $0`/../bin/rubocop"}
|
||||
cached="$1" # may be empty
|
||||
|
||||
if git diff $cached --diff-filter=ACMR HEAD --quiet; then
|
||||
@@ -17,7 +35,8 @@ fi
|
||||
|
||||
exec git diff $cached --name-only --relative --diff-filter=ACMR HEAD |\
|
||||
xargs \
|
||||
$rubocop --force-exclusion \
|
||||
--fail-level A \
|
||||
--format simple \
|
||||
--parallel --cache true
|
||||
$RUBOCOP_BIN \
|
||||
--force-exclusion \
|
||||
--fail-level A \
|
||||
--format simple \
|
||||
--parallel --cache true
|
||||
|
||||
Reference in New Issue
Block a user