From 632263568e637817e8efb0b460667f5a021f2dd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Thu, 16 Oct 2014 16:31:51 +0200 Subject: [PATCH] Add rbenv's own `rbenv.d` directory to hook paths This allows rbenv source code to ship with built-in hooks. --- libexec/rbenv | 13 +++++++++---- libexec/rbenv-realpath.dylib | Bin 8672 -> 0 bytes test/rbenv.bats | 5 +++++ 3 files changed, 14 insertions(+), 4 deletions(-) delete mode 100755 libexec/rbenv-realpath.dylib diff --git a/libexec/rbenv b/libexec/rbenv index 4041df82..de7ea692 100755 --- a/libexec/rbenv +++ b/libexec/rbenv @@ -71,15 +71,20 @@ shopt -s nullglob bin_path="$(abs_dirname "$0")" for plugin_bin in "${RBENV_ROOT}/plugins/"*/bin; do - bin_path="${bin_path}:${plugin_bin}" + PATH="${plugin_bin}:${PATH}" done export PATH="${bin_path}:${PATH}" -hook_path="${RBENV_HOOK_PATH}:${RBENV_ROOT}/rbenv.d:/usr/local/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks" +RBENV_HOOK_PATH="${RBENV_HOOK_PATH}:${RBENV_ROOT}/rbenv.d" +if [ "${bin_path%/*}" != "$RBENV_ROOT" ]; then + # Add rbenv's own `rbenv.d` unless rbenv was cloned to RBENV_ROOT + RBENV_HOOK_PATH="${RBENV_HOOK_PATH}:${bin_path%/*}/rbenv.d" +fi +RBENV_HOOK_PATH="${RBENV_HOOK_PATH}:/usr/local/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks" for plugin_hook in "${RBENV_ROOT}/plugins/"*/etc/rbenv.d; do - hook_path="${hook_path}:${plugin_hook}" + RBENV_HOOK_PATH="${RBENV_HOOK_PATH}:${plugin_hook}" done -export RBENV_HOOK_PATH="$hook_path" +export RBENV_HOOK_PATH shopt -u nullglob diff --git a/libexec/rbenv-realpath.dylib b/libexec/rbenv-realpath.dylib deleted file mode 100755 index c42aca38256af4e3c9531371636e35fb94e1bfe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8672 zcmeHNL2MgE6#Z@rN!vgi)I*?vrd3h}N;gIzQA8`*D2q0tL}?O4B`DLiJ*ihXYiD=e zBo!7#r3cF@#foo2c-Gd?Eml2 z%-fmgwX`$i@3#N^XAmGY008%5xgX2eJpk7sjS;|uSSI%YaK31sUkp?Im#A4UCoysY z(uAB;$$22w0*WF_@^$Wu@}J9k!uw?$y8Uo94mtOOTHfDHCHX$4iJ(0YIUt;pF}Weh zM{_2N_;^W_tHKL$|9rocd`8$BfH2C^vpdFD@B`0rFUc0k@%<(FK9ThbE5bf*Ombdx zR~@&=9e1e`;{Ng79Eo~bl7MiMLso^3b5Y_;p1mxhY;t^?l5b3QB23T7UPjN!DHNFV z>D*#2)=E7edw6XSNcBVnDerIH@>taQu8Dn z@2{R?;wIy~Xa{x_N4S5!8Of)<2f}^Naj$C_k#5wM^RqLvFPhUc>Nm#1YLGue0Et_u zF&T|Zh9Rb(&nYZ4k9giNrpiuUtck*umly8klb*24RXZpd#dWNJV*pn(#K59krO_)b zC_RaocrQv%&lJ_S5Yrf{N3ozkgk=s(+(<_%cboql_8*FOlJODrbf2F;-G1S{b7wN2 zjZd$9u=3&HIOb4NfCC4^^0>m3LmS3IP^vynPC$YQ9HGP+3^_1F>v8FD1ZM z0LQTq@B1to&tnqbL`-%93)K_OqSvMs&B&5qT~4p~jG8s=@QS--uxO!)gz>lSQ26NdFx!~Ah`f|_8F#KhBSzt!z_o90%-+-aIS z*0rxQ7rxr)PP~S6-HF%3>qWetz41s6U2dT}@g(|<64A8(z`iA#RQnf-9-`<6j3)ep zFzxu&vc1lPT_~}++@dv`d&y+Bcd524+~5i33BOXlj4L-5Ekm3FD?9ERzQGntf{8UJ zV18f+H6I+GWtg*+U|O|($svl*F}LELydt~`s{|$CtvbFiK)r(R28>?FU0jQ?S5;&f z#s!)R&Iul-04?t6-ImtKPot-z*1HtbJNGd5OozP@AkE>>VQ^(0Qfui{dU$YXgUA#1 zyivFt7d;od|Iv#RX&hdt>YE7S`XC|?NvYRwE|iJt$7lgfWk{4BlIldVE5UcG N`=!3)Tf=dY{R^K+djJ3c diff --git a/test/rbenv.bats b/test/rbenv.bats index e7cea6f0..5b52adc1 100644 --- a/test/rbenv.bats +++ b/test/rbenv.bats @@ -68,3 +68,8 @@ load test_helper assert_line 1 "/other/hooks" assert_line 2 "${RBENV_ROOT}/rbenv.d" } + +@test "RBENV_HOOK_PATH includes rbenv built-in plugins" { + run rbenv echo "RBENV_HOOK_PATH" + assert_success ":${RBENV_ROOT}/rbenv.d:${BATS_TEST_DIRNAME%/*}/rbenv.d:/usr/local/etc/rbenv.d:/etc/rbenv.d:/usr/lib/rbenv/hooks" +}