aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Matthijs <axxo@gentoo.org>2005-09-14 20:42:16 +0000
committerThomas Matthijs <axxo@gentoo.org>2005-09-14 20:42:16 +0000
commitdb785da96dd320c6dec0fc77d373537f93dc83af (patch)
tree83ccda03afe3058762eb1af4a2676cb6a2a8ce97 /src/launcher.bash
parentrevert some of my previous changes (diff)
downloadjava-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.bash54
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}