1*ac2a7c1bSSadaf Ebrahimi#!/bin/sh 2*ac2a7c1bSSadaf Ebrahimi# ---------------------------------------------------------------------------- 3*ac2a7c1bSSadaf Ebrahimi# Licensed to the Apache Software Foundation (ASF) under one 4*ac2a7c1bSSadaf Ebrahimi# or more contributor license agreements. See the NOTICE file 5*ac2a7c1bSSadaf Ebrahimi# distributed with this work for additional information 6*ac2a7c1bSSadaf Ebrahimi# regarding copyright ownership. The ASF licenses this file 7*ac2a7c1bSSadaf Ebrahimi# to you under the Apache License, Version 2.0 (the 8*ac2a7c1bSSadaf Ebrahimi# "License"); you may not use this file except in compliance 9*ac2a7c1bSSadaf Ebrahimi# with the License. You may obtain a copy of the License at 10*ac2a7c1bSSadaf Ebrahimi# 11*ac2a7c1bSSadaf Ebrahimi# http://www.apache.org/licenses/LICENSE-2.0 12*ac2a7c1bSSadaf Ebrahimi# 13*ac2a7c1bSSadaf Ebrahimi# Unless required by applicable law or agreed to in writing, 14*ac2a7c1bSSadaf Ebrahimi# software distributed under the License is distributed on an 15*ac2a7c1bSSadaf Ebrahimi# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ac2a7c1bSSadaf Ebrahimi# KIND, either express or implied. See the License for the 17*ac2a7c1bSSadaf Ebrahimi# specific language governing permissions and limitations 18*ac2a7c1bSSadaf Ebrahimi# under the License. 19*ac2a7c1bSSadaf Ebrahimi# ---------------------------------------------------------------------------- 20*ac2a7c1bSSadaf Ebrahimi 21*ac2a7c1bSSadaf Ebrahimi# ---------------------------------------------------------------------------- 22*ac2a7c1bSSadaf Ebrahimi# Maven Start Up Batch script 23*ac2a7c1bSSadaf Ebrahimi# 24*ac2a7c1bSSadaf Ebrahimi# Required ENV vars: 25*ac2a7c1bSSadaf Ebrahimi# ------------------ 26*ac2a7c1bSSadaf Ebrahimi# JAVA_HOME - location of a JDK home dir 27*ac2a7c1bSSadaf Ebrahimi# 28*ac2a7c1bSSadaf Ebrahimi# Optional ENV vars 29*ac2a7c1bSSadaf Ebrahimi# ----------------- 30*ac2a7c1bSSadaf Ebrahimi# M2_HOME - location of maven2's installed home dir 31*ac2a7c1bSSadaf Ebrahimi# MAVEN_OPTS - parameters passed to the Java VM when running Maven 32*ac2a7c1bSSadaf Ebrahimi# e.g. to debug Maven itself, use 33*ac2a7c1bSSadaf Ebrahimi# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 34*ac2a7c1bSSadaf Ebrahimi# MAVEN_SKIP_RC - flag to disable loading of mavenrc files 35*ac2a7c1bSSadaf Ebrahimi# ---------------------------------------------------------------------------- 36*ac2a7c1bSSadaf Ebrahimi 37*ac2a7c1bSSadaf Ebrahimiif [ -z "$MAVEN_SKIP_RC" ] ; then 38*ac2a7c1bSSadaf Ebrahimi 39*ac2a7c1bSSadaf Ebrahimi if [ -f /usr/local/etc/mavenrc ] ; then 40*ac2a7c1bSSadaf Ebrahimi . /usr/local/etc/mavenrc 41*ac2a7c1bSSadaf Ebrahimi fi 42*ac2a7c1bSSadaf Ebrahimi 43*ac2a7c1bSSadaf Ebrahimi if [ -f /etc/mavenrc ] ; then 44*ac2a7c1bSSadaf Ebrahimi . /etc/mavenrc 45*ac2a7c1bSSadaf Ebrahimi fi 46*ac2a7c1bSSadaf Ebrahimi 47*ac2a7c1bSSadaf Ebrahimi if [ -f "$HOME/.mavenrc" ] ; then 48*ac2a7c1bSSadaf Ebrahimi . "$HOME/.mavenrc" 49*ac2a7c1bSSadaf Ebrahimi fi 50*ac2a7c1bSSadaf Ebrahimi 51*ac2a7c1bSSadaf Ebrahimifi 52*ac2a7c1bSSadaf Ebrahimi 53*ac2a7c1bSSadaf Ebrahimi# OS specific support. $var _must_ be set to either true or false. 54*ac2a7c1bSSadaf Ebrahimicygwin=false; 55*ac2a7c1bSSadaf Ebrahimidarwin=false; 56*ac2a7c1bSSadaf Ebrahimimingw=false 57*ac2a7c1bSSadaf Ebrahimicase "`uname`" in 58*ac2a7c1bSSadaf Ebrahimi CYGWIN*) cygwin=true ;; 59*ac2a7c1bSSadaf Ebrahimi MINGW*) mingw=true;; 60*ac2a7c1bSSadaf Ebrahimi Darwin*) darwin=true 61*ac2a7c1bSSadaf Ebrahimi # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home 62*ac2a7c1bSSadaf Ebrahimi # See https://developer.apple.com/library/mac/qa/qa1170/_index.html 63*ac2a7c1bSSadaf Ebrahimi if [ -z "$JAVA_HOME" ]; then 64*ac2a7c1bSSadaf Ebrahimi if [ -x "/usr/libexec/java_home" ]; then 65*ac2a7c1bSSadaf Ebrahimi export JAVA_HOME="`/usr/libexec/java_home`" 66*ac2a7c1bSSadaf Ebrahimi else 67*ac2a7c1bSSadaf Ebrahimi export JAVA_HOME="/Library/Java/Home" 68*ac2a7c1bSSadaf Ebrahimi fi 69*ac2a7c1bSSadaf Ebrahimi fi 70*ac2a7c1bSSadaf Ebrahimi ;; 71*ac2a7c1bSSadaf Ebrahimiesac 72*ac2a7c1bSSadaf Ebrahimi 73*ac2a7c1bSSadaf Ebrahimiif [ -z "$JAVA_HOME" ] ; then 74*ac2a7c1bSSadaf Ebrahimi if [ -r /etc/gentoo-release ] ; then 75*ac2a7c1bSSadaf Ebrahimi JAVA_HOME=`java-config --jre-home` 76*ac2a7c1bSSadaf Ebrahimi fi 77*ac2a7c1bSSadaf Ebrahimifi 78*ac2a7c1bSSadaf Ebrahimi 79*ac2a7c1bSSadaf Ebrahimiif [ -z "$M2_HOME" ] ; then 80*ac2a7c1bSSadaf Ebrahimi ## resolve links - $0 may be a link to maven's home 81*ac2a7c1bSSadaf Ebrahimi PRG="$0" 82*ac2a7c1bSSadaf Ebrahimi 83*ac2a7c1bSSadaf Ebrahimi # need this for relative symlinks 84*ac2a7c1bSSadaf Ebrahimi while [ -h "$PRG" ] ; do 85*ac2a7c1bSSadaf Ebrahimi ls=`ls -ld "$PRG"` 86*ac2a7c1bSSadaf Ebrahimi link=`expr "$ls" : '.*-> \(.*\)$'` 87*ac2a7c1bSSadaf Ebrahimi if expr "$link" : '/.*' > /dev/null; then 88*ac2a7c1bSSadaf Ebrahimi PRG="$link" 89*ac2a7c1bSSadaf Ebrahimi else 90*ac2a7c1bSSadaf Ebrahimi PRG="`dirname "$PRG"`/$link" 91*ac2a7c1bSSadaf Ebrahimi fi 92*ac2a7c1bSSadaf Ebrahimi done 93*ac2a7c1bSSadaf Ebrahimi 94*ac2a7c1bSSadaf Ebrahimi saveddir=`pwd` 95*ac2a7c1bSSadaf Ebrahimi 96*ac2a7c1bSSadaf Ebrahimi M2_HOME=`dirname "$PRG"`/.. 97*ac2a7c1bSSadaf Ebrahimi 98*ac2a7c1bSSadaf Ebrahimi # make it fully qualified 99*ac2a7c1bSSadaf Ebrahimi M2_HOME=`cd "$M2_HOME" && pwd` 100*ac2a7c1bSSadaf Ebrahimi 101*ac2a7c1bSSadaf Ebrahimi cd "$saveddir" 102*ac2a7c1bSSadaf Ebrahimi # echo Using m2 at $M2_HOME 103*ac2a7c1bSSadaf Ebrahimifi 104*ac2a7c1bSSadaf Ebrahimi 105*ac2a7c1bSSadaf Ebrahimi# For Cygwin, ensure paths are in UNIX format before anything is touched 106*ac2a7c1bSSadaf Ebrahimiif $cygwin ; then 107*ac2a7c1bSSadaf Ebrahimi [ -n "$M2_HOME" ] && 108*ac2a7c1bSSadaf Ebrahimi M2_HOME=`cygpath --unix "$M2_HOME"` 109*ac2a7c1bSSadaf Ebrahimi [ -n "$JAVA_HOME" ] && 110*ac2a7c1bSSadaf Ebrahimi JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 111*ac2a7c1bSSadaf Ebrahimi [ -n "$CLASSPATH" ] && 112*ac2a7c1bSSadaf Ebrahimi CLASSPATH=`cygpath --path --unix "$CLASSPATH"` 113*ac2a7c1bSSadaf Ebrahimifi 114*ac2a7c1bSSadaf Ebrahimi 115*ac2a7c1bSSadaf Ebrahimi# For Mingw, ensure paths are in UNIX format before anything is touched 116*ac2a7c1bSSadaf Ebrahimiif $mingw ; then 117*ac2a7c1bSSadaf Ebrahimi [ -n "$M2_HOME" ] && 118*ac2a7c1bSSadaf Ebrahimi M2_HOME="`(cd "$M2_HOME"; pwd)`" 119*ac2a7c1bSSadaf Ebrahimi [ -n "$JAVA_HOME" ] && 120*ac2a7c1bSSadaf Ebrahimi JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" 121*ac2a7c1bSSadaf Ebrahimifi 122*ac2a7c1bSSadaf Ebrahimi 123*ac2a7c1bSSadaf Ebrahimiif [ -z "$JAVA_HOME" ]; then 124*ac2a7c1bSSadaf Ebrahimi javaExecutable="`which javac`" 125*ac2a7c1bSSadaf Ebrahimi if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then 126*ac2a7c1bSSadaf Ebrahimi # readlink(1) is not available as standard on Solaris 10. 127*ac2a7c1bSSadaf Ebrahimi readLink=`which readlink` 128*ac2a7c1bSSadaf Ebrahimi if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then 129*ac2a7c1bSSadaf Ebrahimi if $darwin ; then 130*ac2a7c1bSSadaf Ebrahimi javaHome="`dirname \"$javaExecutable\"`" 131*ac2a7c1bSSadaf Ebrahimi javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" 132*ac2a7c1bSSadaf Ebrahimi else 133*ac2a7c1bSSadaf Ebrahimi javaExecutable="`readlink -f \"$javaExecutable\"`" 134*ac2a7c1bSSadaf Ebrahimi fi 135*ac2a7c1bSSadaf Ebrahimi javaHome="`dirname \"$javaExecutable\"`" 136*ac2a7c1bSSadaf Ebrahimi javaHome=`expr "$javaHome" : '\(.*\)/bin'` 137*ac2a7c1bSSadaf Ebrahimi JAVA_HOME="$javaHome" 138*ac2a7c1bSSadaf Ebrahimi export JAVA_HOME 139*ac2a7c1bSSadaf Ebrahimi fi 140*ac2a7c1bSSadaf Ebrahimi fi 141*ac2a7c1bSSadaf Ebrahimifi 142*ac2a7c1bSSadaf Ebrahimi 143*ac2a7c1bSSadaf Ebrahimiif [ -z "$JAVACMD" ] ; then 144*ac2a7c1bSSadaf Ebrahimi if [ -n "$JAVA_HOME" ] ; then 145*ac2a7c1bSSadaf Ebrahimi if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 146*ac2a7c1bSSadaf Ebrahimi # IBM's JDK on AIX uses strange locations for the executables 147*ac2a7c1bSSadaf Ebrahimi JAVACMD="$JAVA_HOME/jre/sh/java" 148*ac2a7c1bSSadaf Ebrahimi else 149*ac2a7c1bSSadaf Ebrahimi JAVACMD="$JAVA_HOME/bin/java" 150*ac2a7c1bSSadaf Ebrahimi fi 151*ac2a7c1bSSadaf Ebrahimi else 152*ac2a7c1bSSadaf Ebrahimi JAVACMD="`\\unset -f command; \\command -v java`" 153*ac2a7c1bSSadaf Ebrahimi fi 154*ac2a7c1bSSadaf Ebrahimifi 155*ac2a7c1bSSadaf Ebrahimi 156*ac2a7c1bSSadaf Ebrahimiif [ ! -x "$JAVACMD" ] ; then 157*ac2a7c1bSSadaf Ebrahimi echo "Error: JAVA_HOME is not defined correctly." >&2 158*ac2a7c1bSSadaf Ebrahimi echo " We cannot execute $JAVACMD" >&2 159*ac2a7c1bSSadaf Ebrahimi exit 1 160*ac2a7c1bSSadaf Ebrahimifi 161*ac2a7c1bSSadaf Ebrahimi 162*ac2a7c1bSSadaf Ebrahimiif [ -z "$JAVA_HOME" ] ; then 163*ac2a7c1bSSadaf Ebrahimi echo "Warning: JAVA_HOME environment variable is not set." 164*ac2a7c1bSSadaf Ebrahimifi 165*ac2a7c1bSSadaf Ebrahimi 166*ac2a7c1bSSadaf EbrahimiCLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher 167*ac2a7c1bSSadaf Ebrahimi 168*ac2a7c1bSSadaf Ebrahimi# traverses directory structure from process work directory to filesystem root 169*ac2a7c1bSSadaf Ebrahimi# first directory with .mvn subdirectory is considered project base directory 170*ac2a7c1bSSadaf Ebrahimifind_maven_basedir() { 171*ac2a7c1bSSadaf Ebrahimi 172*ac2a7c1bSSadaf Ebrahimi if [ -z "$1" ] 173*ac2a7c1bSSadaf Ebrahimi then 174*ac2a7c1bSSadaf Ebrahimi echo "Path not specified to find_maven_basedir" 175*ac2a7c1bSSadaf Ebrahimi return 1 176*ac2a7c1bSSadaf Ebrahimi fi 177*ac2a7c1bSSadaf Ebrahimi 178*ac2a7c1bSSadaf Ebrahimi basedir="$1" 179*ac2a7c1bSSadaf Ebrahimi wdir="$1" 180*ac2a7c1bSSadaf Ebrahimi while [ "$wdir" != '/' ] ; do 181*ac2a7c1bSSadaf Ebrahimi if [ -d "$wdir"/.mvn ] ; then 182*ac2a7c1bSSadaf Ebrahimi basedir=$wdir 183*ac2a7c1bSSadaf Ebrahimi break 184*ac2a7c1bSSadaf Ebrahimi fi 185*ac2a7c1bSSadaf Ebrahimi # workaround for JBEAP-8937 (on Solaris 10/Sparc) 186*ac2a7c1bSSadaf Ebrahimi if [ -d "${wdir}" ]; then 187*ac2a7c1bSSadaf Ebrahimi wdir=`cd "$wdir/.."; pwd` 188*ac2a7c1bSSadaf Ebrahimi fi 189*ac2a7c1bSSadaf Ebrahimi # end of workaround 190*ac2a7c1bSSadaf Ebrahimi done 191*ac2a7c1bSSadaf Ebrahimi echo "${basedir}" 192*ac2a7c1bSSadaf Ebrahimi} 193*ac2a7c1bSSadaf Ebrahimi 194*ac2a7c1bSSadaf Ebrahimi# concatenates all lines of a file 195*ac2a7c1bSSadaf Ebrahimiconcat_lines() { 196*ac2a7c1bSSadaf Ebrahimi if [ -f "$1" ]; then 197*ac2a7c1bSSadaf Ebrahimi echo "$(tr -s '\n' ' ' < "$1")" 198*ac2a7c1bSSadaf Ebrahimi fi 199*ac2a7c1bSSadaf Ebrahimi} 200*ac2a7c1bSSadaf Ebrahimi 201*ac2a7c1bSSadaf EbrahimiBASE_DIR=`find_maven_basedir "$(pwd)"` 202*ac2a7c1bSSadaf Ebrahimiif [ -z "$BASE_DIR" ]; then 203*ac2a7c1bSSadaf Ebrahimi exit 1; 204*ac2a7c1bSSadaf Ebrahimifi 205*ac2a7c1bSSadaf Ebrahimi 206*ac2a7c1bSSadaf Ebrahimi########################################################################################## 207*ac2a7c1bSSadaf Ebrahimi# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 208*ac2a7c1bSSadaf Ebrahimi# This allows using the maven wrapper in projects that prohibit checking in binary data. 209*ac2a7c1bSSadaf Ebrahimi########################################################################################## 210*ac2a7c1bSSadaf Ebrahimiif [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then 211*ac2a7c1bSSadaf Ebrahimi if [ "$MVNW_VERBOSE" = true ]; then 212*ac2a7c1bSSadaf Ebrahimi echo "Found .mvn/wrapper/maven-wrapper.jar" 213*ac2a7c1bSSadaf Ebrahimi fi 214*ac2a7c1bSSadaf Ebrahimielse 215*ac2a7c1bSSadaf Ebrahimi if [ "$MVNW_VERBOSE" = true ]; then 216*ac2a7c1bSSadaf Ebrahimi echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." 217*ac2a7c1bSSadaf Ebrahimi fi 218*ac2a7c1bSSadaf Ebrahimi if [ -n "$MVNW_REPOURL" ]; then 219*ac2a7c1bSSadaf Ebrahimi jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 220*ac2a7c1bSSadaf Ebrahimi else 221*ac2a7c1bSSadaf Ebrahimi jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 222*ac2a7c1bSSadaf Ebrahimi fi 223*ac2a7c1bSSadaf Ebrahimi while IFS="=" read key value; do 224*ac2a7c1bSSadaf Ebrahimi case "$key" in (wrapperUrl) jarUrl="$value"; break ;; 225*ac2a7c1bSSadaf Ebrahimi esac 226*ac2a7c1bSSadaf Ebrahimi done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" 227*ac2a7c1bSSadaf Ebrahimi if [ "$MVNW_VERBOSE" = true ]; then 228*ac2a7c1bSSadaf Ebrahimi echo "Downloading from: $jarUrl" 229*ac2a7c1bSSadaf Ebrahimi fi 230*ac2a7c1bSSadaf Ebrahimi wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" 231*ac2a7c1bSSadaf Ebrahimi if $cygwin; then 232*ac2a7c1bSSadaf Ebrahimi wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` 233*ac2a7c1bSSadaf Ebrahimi fi 234*ac2a7c1bSSadaf Ebrahimi 235*ac2a7c1bSSadaf Ebrahimi if command -v wget > /dev/null; then 236*ac2a7c1bSSadaf Ebrahimi if [ "$MVNW_VERBOSE" = true ]; then 237*ac2a7c1bSSadaf Ebrahimi echo "Found wget ... using wget" 238*ac2a7c1bSSadaf Ebrahimi fi 239*ac2a7c1bSSadaf Ebrahimi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then 240*ac2a7c1bSSadaf Ebrahimi wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" 241*ac2a7c1bSSadaf Ebrahimi else 242*ac2a7c1bSSadaf Ebrahimi wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" 243*ac2a7c1bSSadaf Ebrahimi fi 244*ac2a7c1bSSadaf Ebrahimi elif command -v curl > /dev/null; then 245*ac2a7c1bSSadaf Ebrahimi if [ "$MVNW_VERBOSE" = true ]; then 246*ac2a7c1bSSadaf Ebrahimi echo "Found curl ... using curl" 247*ac2a7c1bSSadaf Ebrahimi fi 248*ac2a7c1bSSadaf Ebrahimi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then 249*ac2a7c1bSSadaf Ebrahimi curl -o "$wrapperJarPath" "$jarUrl" -f 250*ac2a7c1bSSadaf Ebrahimi else 251*ac2a7c1bSSadaf Ebrahimi curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f 252*ac2a7c1bSSadaf Ebrahimi fi 253*ac2a7c1bSSadaf Ebrahimi 254*ac2a7c1bSSadaf Ebrahimi else 255*ac2a7c1bSSadaf Ebrahimi if [ "$MVNW_VERBOSE" = true ]; then 256*ac2a7c1bSSadaf Ebrahimi echo "Falling back to using Java to download" 257*ac2a7c1bSSadaf Ebrahimi fi 258*ac2a7c1bSSadaf Ebrahimi javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" 259*ac2a7c1bSSadaf Ebrahimi # For Cygwin, switch paths to Windows format before running javac 260*ac2a7c1bSSadaf Ebrahimi if $cygwin; then 261*ac2a7c1bSSadaf Ebrahimi javaClass=`cygpath --path --windows "$javaClass"` 262*ac2a7c1bSSadaf Ebrahimi fi 263*ac2a7c1bSSadaf Ebrahimi if [ -e "$javaClass" ]; then 264*ac2a7c1bSSadaf Ebrahimi if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 265*ac2a7c1bSSadaf Ebrahimi if [ "$MVNW_VERBOSE" = true ]; then 266*ac2a7c1bSSadaf Ebrahimi echo " - Compiling MavenWrapperDownloader.java ..." 267*ac2a7c1bSSadaf Ebrahimi fi 268*ac2a7c1bSSadaf Ebrahimi # Compiling the Java class 269*ac2a7c1bSSadaf Ebrahimi ("$JAVA_HOME/bin/javac" "$javaClass") 270*ac2a7c1bSSadaf Ebrahimi fi 271*ac2a7c1bSSadaf Ebrahimi if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 272*ac2a7c1bSSadaf Ebrahimi # Running the downloader 273*ac2a7c1bSSadaf Ebrahimi if [ "$MVNW_VERBOSE" = true ]; then 274*ac2a7c1bSSadaf Ebrahimi echo " - Running MavenWrapperDownloader.java ..." 275*ac2a7c1bSSadaf Ebrahimi fi 276*ac2a7c1bSSadaf Ebrahimi ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") 277*ac2a7c1bSSadaf Ebrahimi fi 278*ac2a7c1bSSadaf Ebrahimi fi 279*ac2a7c1bSSadaf Ebrahimi fi 280*ac2a7c1bSSadaf Ebrahimifi 281*ac2a7c1bSSadaf Ebrahimi########################################################################################## 282*ac2a7c1bSSadaf Ebrahimi# End of extension 283*ac2a7c1bSSadaf Ebrahimi########################################################################################## 284*ac2a7c1bSSadaf Ebrahimi 285*ac2a7c1bSSadaf Ebrahimiexport MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} 286*ac2a7c1bSSadaf Ebrahimiif [ "$MVNW_VERBOSE" = true ]; then 287*ac2a7c1bSSadaf Ebrahimi echo $MAVEN_PROJECTBASEDIR 288*ac2a7c1bSSadaf Ebrahimifi 289*ac2a7c1bSSadaf EbrahimiMAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" 290*ac2a7c1bSSadaf Ebrahimi 291*ac2a7c1bSSadaf Ebrahimi# For Cygwin, switch paths to Windows format before running java 292*ac2a7c1bSSadaf Ebrahimiif $cygwin; then 293*ac2a7c1bSSadaf Ebrahimi [ -n "$M2_HOME" ] && 294*ac2a7c1bSSadaf Ebrahimi M2_HOME=`cygpath --path --windows "$M2_HOME"` 295*ac2a7c1bSSadaf Ebrahimi [ -n "$JAVA_HOME" ] && 296*ac2a7c1bSSadaf Ebrahimi JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` 297*ac2a7c1bSSadaf Ebrahimi [ -n "$CLASSPATH" ] && 298*ac2a7c1bSSadaf Ebrahimi CLASSPATH=`cygpath --path --windows "$CLASSPATH"` 299*ac2a7c1bSSadaf Ebrahimi [ -n "$MAVEN_PROJECTBASEDIR" ] && 300*ac2a7c1bSSadaf Ebrahimi MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` 301*ac2a7c1bSSadaf Ebrahimifi 302*ac2a7c1bSSadaf Ebrahimi 303*ac2a7c1bSSadaf Ebrahimi# Provide a "standardized" way to retrieve the CLI args that will 304*ac2a7c1bSSadaf Ebrahimi# work with both Windows and non-Windows executions. 305*ac2a7c1bSSadaf EbrahimiMAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" 306*ac2a7c1bSSadaf Ebrahimiexport MAVEN_CMD_LINE_ARGS 307*ac2a7c1bSSadaf Ebrahimi 308*ac2a7c1bSSadaf EbrahimiWRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 309*ac2a7c1bSSadaf Ebrahimi 310*ac2a7c1bSSadaf Ebrahimiexec "$JAVACMD" \ 311*ac2a7c1bSSadaf Ebrahimi $MAVEN_OPTS \ 312*ac2a7c1bSSadaf Ebrahimi $MAVEN_DEBUG_OPTS \ 313*ac2a7c1bSSadaf Ebrahimi -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ 314*ac2a7c1bSSadaf Ebrahimi "-Dmaven.home=${M2_HOME}" \ 315*ac2a7c1bSSadaf Ebrahimi "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ 316*ac2a7c1bSSadaf Ebrahimi ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" 317