| CLASSWORLDS_CONF="$MAVEN_HOME/bin/m2.conf" |
| |
| # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched |
| if $cygwin || $mingw ; then |
| [ -n "$JAVA_HOME" ] && |
| JAVA_HOME=`cygpath --unix "$JAVA_HOME"` |
| fi |
| |
| if [ -n "$JAVA_HOME" ] ; then |
| if [ -x "$JAVA_HOME/jre/sh/java" ] ; then |
| # IBM's JDK on AIX uses strange locations for the executables |
| JAVACMD="$JAVA_HOME/jre/sh/java" |
| else |
| JAVACMD="$JAVA_HOME/bin/java" |
| |
| if [ ! -x "$JAVACMD" ] ; then |
| echo "The JAVA_HOME environment variable is not defined correctly, so Apache Maven cannot be started." >&2 |
| echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" does not exist." >&2 |
| exit 1 |
| fi |
| fi |
| else |
| JAVACMD="`\\unset -f command; \\command -v java`" |
| |
| if [ ! -x "$JAVACMD" ] ; then |
| echo "The java(1) command does not exist in PATH nor is JAVA_HOME set, so Apache Maven cannot be started." >&2 |
| exit 1 |
| fi |
| fi |
| |
| # traverses directory structure from process work directory to filesystem root |
| # first directory with .mvn subdirectory is considered project base directory |
| find_maven_basedir() { |
| ( |
| basedir=`find_file_argument_basedir "$@"` |
| wdir="$basedir" |
| while [ "$wdir" != '/' ] ; do |
| if [ -d "$wdir"/.mvn ] ; then |
| basedir=$wdir |
| break |
| fi |
| wdir=`cd "$wdir/.."; pwd` |
| done |
| echo "$basedir" |
| ) |
| } |
| |
| find_file_argument_basedir() { |
| ( |
| basedir=`pwd` |
| |
| found_file_switch=0 |
| for arg in "$@"; do |
| if [ ${found_file_switch} -eq 1 ]; then |
| if [ -d "${arg}" ]; then |
| basedir=`cd "${arg}" && pwd -P` |
| elif [ -f "${arg}" ]; then |
| basedir=`dirname "${arg}"` |
| basedir=`cd "$basedir" && pwd -P` |
| if [ ! -d "$basedir" ]; then |
| echo "Directory $basedir extracted from the -f/--file command-line argument ${arg} does not exist" >&2 |
| exit 1 |
| fi |
| else |
| echo "POM file ${arg} specified with the -f/--file command line argument does not exist" >&2 |
| exit 1 |
| fi |
| break |
| fi |
| if [ "$arg" = "-f" -o "$arg" = "--file" ]; then |
| found_file_switch=1 |
| fi |
| done |
| echo "$basedir" |
| ) |
| } |
| |
| # concatenates all lines of a file |
| concat_lines() { |
| if [ -f "$1" ]; then |
| echo "`tr -s '\r\n' ' ' < "$1"`" |
| fi |
| } |
| |
| MAVEN_PROJECTBASEDIR="`find_maven_basedir "$@"`" |
| MAVEN_OPTS="`concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config"` $MAVEN_OPTS" |