#!/bin/bash # for the story this comes from a JavaFX training i attended usage() { cat < launch eclipse EOF } create_dev_params() { if [[ -e devenv_params ]] then echo " devenv_params already exists" exit 1 # could update this way # source devenv_params else if [[ -z $DEV_ENV ]] then echo "[ERROR] DEV_ENV $DEV_ENV not set, call setup_eclipse_dir from this '$0' script" exit 1 fi cat >devenv_params <&2 exit 1 fi if [[ -z $ECLIPSE_PATH ]] then echo "[ERROR] Missing ECLIPSE_PATH, either devenv_params is wrong or missing" >&2 exit 1 fi if [[ ! -d $JDK_PATH ]] then echo "[ERROR] Missing JDK_PATH '$JDK_PATH'" >&2 fi if [[ ! -d $ECLIPSE_PATH ]] then ls -la ${DEV_ENV} echo "[ERROR] Missing ECLIPSE_PATH '$ECLIPSE_PATH'" >&2 exit 1 fi } # not yet used ... create_sandbox() { mkdir sandbox } check_java_version() { local expected_version='1.8.0' if java -version 2>&1 | grep "$expected_version" then if javac -version 2>&1 | grep "$expected_version" then $* else echo "[ERROR] Wrong javac version expected $expected_version" >&2 fi else echo "[ERROR] Wrong java version expected $expected_version" >&2 fi } # overrides PATH with JDK_PATH ECLIPSE_PATH # and check java is the right one to launch eclipse run_in_sandbox() { PATH=$JDK_PATH/bin/:$JDK_PATH/jre/bin/:$ECLIPSE_PATH:$PATH export PATH [[ -n $check_version ]] && check_java_version } while [[ $# > 0 ]] do case $1 in setup_dev_env) setup_eclipse_dir create_dev_params exit 0 ;; *) echo "[ERROR] Unrecognized argument '$1'" >&2 usage exit 1 ;; esac shift 1 done setup_eclipse_dir check_eclipse run_in_sandbox eclipse -data $(pwd)/workspace