diff options
author | 2005-09-14 20:42:16 +0000 | |
---|---|---|
committer | 2005-09-14 20:42:16 +0000 | |
commit | db785da96dd320c6dec0fc77d373537f93dc83af (patch) | |
tree | 83ccda03afe3058762eb1af4a2676cb6a2a8ce97 /src/launcher.bash | |
parent | revert some of my previous changes (diff) | |
download | java-config-db785da96dd320c6dec0fc77d373537f93dc83af.tar.gz java-config-db785da96dd320c6dec0fc77d373537f93dc83af.tar.bz2 java-config-db785da96dd320c6dec0fc77d373537f93dc83af.zip |
new java-config: saner launcher, still needs improving
svn path=/java-config-ng/branches/axxo/; revision=828
Diffstat (limited to 'src/launcher.bash')
-rw-r--r-- | src/launcher.bash | 54 |
1 files changed, 32 insertions, 22 deletions
diff --git a/src/launcher.bash b/src/launcher.bash index 1131e47..6496b5e 100644 --- a/src/launcher.bash +++ b/src/launcher.bash @@ -1,46 +1,56 @@ #!/bin/bash +# Not-so-elegant? patches more then welcome abort() { echo ${@} >&2 exit 1 } -getjar() { - local jar=${1} - for x in $(java-config -p ${gjl_package} | tr ':' ' '); do - if [ "$(basename ${x})" == "${jar}" ] ; then - echo ${x} - return 0 - fi - done - return 1 -} -gjl_user_env=${HOME}/.gentoo/env.d/22${gjl_package} -gjl_system_env=/etc/env.d/java/22${gjl_package} -if [[ -f ${gjl_user_env} ]]; then - source ${gjl_user_env} -elif [[ -f ${gjl_system_env} ]]; then - source ${gjl_system_env} +# Source package env +# --------------------- +gjl_user_env="${HOME}/.gentoo/env.d/22${gjl_package}" +gjl_system_env="/etc/env.d/java/22${gjl_package}" +if [[ -f "${gjl_user_env}" ]]; then + source "${gjl_user_env}" +elif [[ -f "${gjl_system_env}" ]]; then + source "${gjl_system_env}" fi +# Build gjl arguments +# --------------------- +request="--package ${gjl_package} --get-args" if [[ -n ${gjl_main} ]]; then gjl_starte=${gjl_main} elif [[ -n ${gjl_jar} ]]; then - gjl_fjar=$(getjar ${gjl_jar}) || gjl_fjar=${gjl_jar} - gjl_starte="-jar ${gjl_fjar}" + request="${request} --get-jar ${gjl_jar}" else - abort "Need main or jar to start" + abort "Need main or jar to start" fi if [[ -z ${GENTOO_VM} ]]; then - export GENTOO_VM=$(gjl --get-vm ${gjl_package}) || abort "Couldn't get a vm" + request="${request} --get-vm" else echo "found \$GENTOO_VM not trying to change vm" >&2 fi -gjl_args=$(gjl --get-args ${gjl_package}) || abort "Couldn't build classpath" +# Get the information we need +# ---------------------------- +results=$(gjl ${request}) || abort "Couldn't get needed information" +eval $results + +if [[ -n ${gjl_vm} ]]; then + export GENTOO_VM="${gjl_vm}" +fi + +if [[ -z ${gjl_starte} ]]; then + abort "Dont know what to run :((" +fi + +# Run it +# -------- +# Rebuild arg list so it doesnt get messed up for arg in "${@}"; do gjl_cmd_arg="${gjl_cmd_arg} \"${arg}\"" done @@ -52,7 +62,7 @@ fi if [[ -n ${GJL_DEBUG} ]]; then echo "Using: ${GENTOO_VM}" >&2 - echo ${gjl_cmd} >&2 + echo "Running: ${gjl_cmd}" >&2 fi eval ${gjl_cmd} |