Browse Source

Add possibility to enable/disable plugins (issue #23)

pull/24/head
Gildas Cuisinier 13 years ago
parent
commit
02d736b2b5
  1. 0
      available-plugins/ant/etc/jenv.d/exec/ant-before.bash
  2. 0
      available-plugins/ant/etc/jenv.d/rehash/ant.bash
  3. 0
      available-plugins/golo/etc/jenv.d/exec/golo-before.bash
  4. 0
      available-plugins/golo/etc/jenv.d/rehash/golo.bash
  5. 0
      available-plugins/gradle/etc/jenv.d/exec/gradle-before.bash
  6. 0
      available-plugins/gradle/etc/jenv.d/rehash/gradle.bash
  7. 0
      available-plugins/groovy/etc/jenv.d/exec/groovy-before.bash
  8. 0
      available-plugins/groovy/etc/jenv.d/rehash/groovy.bash
  9. 0
      available-plugins/lein/etc/jenv.d/exec/lein-before.bash
  10. 0
      available-plugins/lein/etc/jenv.d/rehash/lein.bash
  11. 0
      available-plugins/maven/etc/jenv.d/exec/maven-before.bash
  12. 0
      available-plugins/maven/etc/jenv.d/rehash/maven.bash
  13. 0
      available-plugins/sbt/etc/jenv.d/exec/sbt-before.bash
  14. 0
      available-plugins/sbt/etc/jenv.d/rehash/sbt.bash
  15. 0
      available-plugins/scala/etc/jenv.d/exec/scala-before.bash
  16. 0
      available-plugins/scala/etc/jenv.d/rehash/scala.bash
  17. 26
      libexec/jenv
  18. 27
      libexec/jenv-disable-plugin
  19. 64
      libexec/jenv-plugins
  20. 33
      libexec/jenv-sh-enable-plugin

0
plugins/ant/etc/jenv.d/exec/ant-before.bash → available-plugins/ant/etc/jenv.d/exec/ant-before.bash

0
plugins/ant/etc/jenv.d/rehash/ant.bash → available-plugins/ant/etc/jenv.d/rehash/ant.bash

0
plugins/golo/etc/jenv.d/exec/golo-before.bash → available-plugins/golo/etc/jenv.d/exec/golo-before.bash

0
plugins/golo/etc/jenv.d/rehash/golo.bash → available-plugins/golo/etc/jenv.d/rehash/golo.bash

0
plugins/gradle/etc/jenv.d/exec/gradle-before.bash → available-plugins/gradle/etc/jenv.d/exec/gradle-before.bash

0
plugins/gradle/etc/jenv.d/rehash/gradle.bash → available-plugins/gradle/etc/jenv.d/rehash/gradle.bash

0
plugins/groovy/etc/jenv.d/exec/groovy-before.bash → available-plugins/groovy/etc/jenv.d/exec/groovy-before.bash

0
plugins/groovy/etc/jenv.d/rehash/groovy.bash → available-plugins/groovy/etc/jenv.d/rehash/groovy.bash

0
plugins/lein/etc/jenv.d/exec/lein-before.bash → available-plugins/lein/etc/jenv.d/exec/lein-before.bash

0
plugins/lein/etc/jenv.d/rehash/lein.bash → available-plugins/lein/etc/jenv.d/rehash/lein.bash

0
plugins/maven/etc/jenv.d/exec/maven-before.bash → available-plugins/maven/etc/jenv.d/exec/maven-before.bash

0
plugins/maven/etc/jenv.d/rehash/maven.bash → available-plugins/maven/etc/jenv.d/rehash/maven.bash

0
plugins/sbt/etc/jenv.d/exec/sbt-before.bash → available-plugins/sbt/etc/jenv.d/exec/sbt-before.bash

0
plugins/sbt/etc/jenv.d/rehash/sbt.bash → available-plugins/sbt/etc/jenv.d/rehash/sbt.bash

0
plugins/scala/etc/jenv.d/exec/scala-before.bash → available-plugins/scala/etc/jenv.d/exec/scala-before.bash

0
plugins/scala/etc/jenv.d/rehash/scala.bash → available-plugins/scala/etc/jenv.d/rehash/scala.bash

26
libexec/jenv

@ -45,6 +45,8 @@ else @@ -45,6 +45,8 @@ else
fi
export JENV_ROOT
if [ -z "${JENV_DIR}" ]; then
JENV_DIR="$(pwd)"
else
@ -64,23 +66,18 @@ shopt -s nullglob @@ -64,23 +66,18 @@ shopt -s nullglob
bin_path="$(abs_dirname "$0")"
if ! samedir "${JENV_ROOT}" "$bin_path/../" ; then
JENV_INSTALL_DIR=$(resolvepath "$bin_path/../")
else
JENV_INSTALL_DIR=$JENV_ROOT
fi
export JENV_INSTALL_DIR
for plugin_bin in "${JENV_ROOT}/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}"
@ -90,13 +87,6 @@ for plugin_hook in "${JENV_ROOT}/plugins/"*/etc/jenv.d; do @@ -90,13 +87,6 @@ for plugin_hook in "${JENV_ROOT}/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

27
libexec/jenv-disable-plugin

@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Summary: Desactivate a jEnv plugin
# Usage: jenv disable-plugin <pluginName>
set -e
[ -n "$JENV_DEBUG" ] && set -x
# Provide jenv completions
if [ "$1" = "--complete" ]; then
exec jenv-plugins --enabled
fi
if [ -z "$1" ]; then
jenv-help disable-plugin >&2
exit 1
fi
plugin="$1"
if [ -h ${JENV_ROOT}/plugins/$plugin ]; then
rm -f "${JENV_ROOT}/plugins/$plugin"
$(jenv-rehash)
echo "$plugin disabled"
else
echo "$plugin is not enabled"
fi

64
libexec/jenv-plugins

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
#!/usr/bin/env bash
# Summary: List available plugins
# Usage: jenv plugins
set -e
[ -n "$JENV_DEBUG" ] && set -x
if [ "$1" = "--complete" ]; then
echo "--enabled"
echo "--available"
exit
fi
resolve_link() {
$(type -p greadlink readlink | head -1) "$1"
}
samedir() {
local path1="$(resolvepath $1)"
local path2="$(resolvepath $2)"
if [ $path1 == $path2 ]; then
return 0;
else
return 1;
fi
}
resolvepath() {
local cwd="$(pwd)"
cd $1
echo "$(pwd)"
cd "$cwd"
}
abs_dirname() {
local cwd="$(pwd)"
local path="$1"
while [ -n "$path" ]; do
cd "${path%/*}"
local name="${path##*/}"
path="$(resolve_link "$name" || true)"
done
pwd
cd "$cwd"
}
if [ "$1" = "--enabled" ] ; then
for plugin in "${JENV_ROOT}"/plugins/*; do
echo $(basename $plugin)
done
else
for plugin in "${JENV_INSTALL_DIR}"/available-plugins/*; do
echo $(basename $plugin)
done
fi

33
libexec/jenv-sh-enable-plugin

@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
#!/usr/bin/env bash
# Summary: Activate a jEnv plugin
# Usage: jenv enable-plugin <pluginName>
set -e
[ -n "$JENV_DEBUG" ] && set -x
# Provide jenv completions
if [ "$1" = "--complete" ]; then
exec jenv-plugins
fi
if [ -z "$1" ]; then
echo "jenv help enable-plugin"
exit 1
fi
plugin="$1"
if [ -h ${JENV_ROOT}/plugins/$plugin ]; then
echo "echo $plugin plugin already enabled"
else
if [ ! -d "${JENV_INSTALL_DIR}/available-plugins/$plugin" ]; then
echo "echo $plugin plugin does not exist"
exit 1;
fi
ln -s "${JENV_INSTALL_DIR}/available-plugins/$plugin" "${JENV_ROOT}/plugins/$plugin"
echo "echo $plugin plugin activated && jenv rehash "
fi
Loading…
Cancel
Save