Browse Source

prepare exec hook

pull/4/head
Gildas Cuisinier 13 years ago
parent
commit
53c75758fa
  1. 45
      libexec/jenv
  2. 11
      libexec/jenv-add
  3. 1
      libexec/jenv-exec
  4. 19
      libexec/jenv-remove
  5. 1
      plugins/maven/etc/jenv.d/exec/maven-before.bash
  6. 45
      plugins/maven/etc/jenv.d/rehash/maven.bash

45
libexec/jenv

@ -20,6 +20,24 @@ abs_dirname() { @@ -20,6 +20,24 @@ abs_dirname() {
cd "$cwd"
}
resolvepath() {
local cwd="$(pwd)"
cd $1
echo "$(pwd)"
cd "$cwd"
}
samedir() {
local path1="$(resolvepath $1)"
local path2="$(resolvepath $2)"
if [ $path1 == $path2 ]; then
return 0;
else
return 1;
fi
}
if [ -z "${JENV_ROOT}" ]; then
JENV_ROOT="${HOME}/.jenv"
else
@ -45,6 +63,8 @@ shopt -s nullglob @@ -45,6 +63,8 @@ shopt -s nullglob
bin_path="$(abs_dirname "$0")"
@ -52,20 +72,31 @@ for plugin_bin in "${JENV_ROOT}/plugins/"*/bin; do @@ -52,20 +72,31 @@ for plugin_bin in "${JENV_ROOT}/plugins/"*/bin; do
bin_path="${bin_path}:${plugin_bin}"
done
for plugin_bin in "$bin_path/../plugins/"*/bin; do
bin_path="${bin_path}:${plugin_bin}"
done
# If jenv is not installed in $HOME/.jenv, look for plugin in installation directory
if ! samedir "${JENV_ROOT}" "$bin_path/../" ; then
for plugin_bin in "$bin_path/../plugins/"*/bin; do
bin_path="${bin_path}:${plugin_bin}"
done
fi
export PATH="${bin_path}:${PATH}"
export PATH="${bin_path}:${PATH}"
hook_path="${JENV_HOOK_PATH}"
for plugin_hook in "${JENV_ROOT}/plugins/"*/etc/jenv.d; do
hook_path="${hook_path}:${plugin_hook}"
done
for plugin_hook in "$bin_path/../plugins/"*/etc/jenv.d; do
hook_path="${hook_path}:${plugin_hook}"
done
# If jenv is not installed in $HOME/.jenv, look for plugin in installation directory
if ! samedir "${JENV_ROOT}" "$bin_path/../" ; then
for plugin_hook in "$bin_path/../plugins/"*/etc/jenv.d; do
hook_path="${hook_path}:${plugin_hook}"
done
fi
export JENV_HOOK_PATH=$hook_path

11
libexec/jenv-add

@ -2,21 +2,12 @@ @@ -2,21 +2,12 @@
set -e
[ -n "$JENV_DEBUG" ] && set -x
# Provide jenv completions
if [ "$1" = "--complete" ]; then
echo --unset
echo system
exec jenv-versions --bare
fi
JENV_VERSION="$1"
JENV_JAVAPATH="$2"
JENV_VERSION_FILE=".jenv-version"
echo $JENV_VERSION
echo $JENV_JAVAPATH
if [ -f "$JENV_JAVAPATH/bin/java" ];
then

1
libexec/jenv-exec

@ -34,6 +34,7 @@ fi @@ -34,6 +34,7 @@ fi
JENV_COMMAND_PATH="$(jenv-which "$JENV_COMMAND")"
JENV_BIN_PATH="${JENV_COMMAND_PATH%/*}"
for script in $(jenv-hooks exec); do
source "$script"
done

19
libexec/jenv-remove

@ -4,24 +4,17 @@ set -e @@ -4,24 +4,17 @@ set -e
# Provide jenv completions
if [ "$1" = "--complete" ]; then
echo --unset
echo system
exec jenv-versions --bare
fi
JENV_VERSION="$1"
JENV_JAVAPATH="$2"
JENV_VERSION_FILE=".jenv-version"
echo $JENV_VERSION
echo $JENV_JAVAPATH
if [ -f "$JENV_JAVAPATH/bin/java" ];
then
ln -s "$JENV_JAVAPATH" "${JENV_ROOT}/versions/$JENV_VERSION"
$(jenv-rehash)
if [ -L " " ];
then
rm -f $JENV_ROOT/versions/$JENV_VERSION
$(jenv-rehash)
else
echo "$JENV_JAVAPATH is not a valid path to java installation"
echo "$JENV_VERSION is not a managed version of Java "
fi

1
plugins/maven/etc/jenv.d/exec/maven-before.bash

@ -0,0 +1 @@ @@ -0,0 +1 @@
echo "Before execute $1 $2"

45
plugins/maven/etc/jenv.d/rehash/maven.bash

@ -1,2 +1,43 @@ @@ -1,2 +1,43 @@
bin_path="/usr/share/maven/bin/*"
make_shims "$bin_path"
remove_from_path() {
local path_to_remove="$(expand_path "$1")"
local result=""
if [ -z "$path_to_remove" ]; then
echo "${PATH}"
return
fi
local paths
IFS=: paths=($PATH)
for path in "${paths[@]}"; do
path="$(expand_path "$path" || true)"
if [ -n "$path" ] && [ "$path" != "$path_to_remove" ]; then
result="${result}${path}:"
fi
done
echo "${result%:}"
}
expand_path() {
if [ ! -d "$1" ]; then
return 1
fi
local cwd="$(pwd)"
cd "$1"
pwd
cd "$cwd"
}
backuppath=$PATH
PATH="$(remove_from_path "${JENV_ROOT}/shims")"
MAVEN_BIN="$(command -v "mvn" || true)"
PATH=$backuppath
#echo "make shims $MAVEN_BIN"
make_shims "$MAVEN_BIN"

Loading…
Cancel
Save