[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-10161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16554481#comment-16554481
 ] 

ASF GitHub Bot commented on CLOUDSTACK-10161:
---------------------------------------------

khos2ow closed pull request #2343: [WIP] CLOUDSTACK-10161: Use Maven wrapper
URL: https://github.com/apache/cloudstack/pull/2343
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/.gitignore b/.gitignore
index 1a73724c117..bac7fe42b06 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,6 +49,7 @@ tools/marvin/marvin/cloudstackAPI/
 tools/marvin/build/
 tools/cli/build/
 *.jar
+!.mvn/wrapper/maven-wrapper.jar
 *.war
 *.mar
 *.iso
diff --git a/.mvn/jvm.config b/.mvn/jvm.config
new file mode 100644
index 00000000000..23acc6ad8d5
--- /dev/null
+++ b/.mvn/jvm.config
@@ -0,0 +1 @@
+-Xmx1024m -XX:CICompilerCount=1 -XX:TieredStopAtLevel=1 
-Djava.security.egd=file:/dev/./urandom
diff --git a/.mvn/maven.config b/.mvn/maven.config
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
new file mode 100755
index 00000000000..f775b1c04cf
Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/.mvn/wrapper/maven-wrapper.properties 
b/.mvn/wrapper/maven-wrapper.properties
new file mode 100755
index 00000000000..a447c9fa812
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1 @@
+distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip
\ No newline at end of file
diff --git a/INSTALL.md b/INSTALL.md
index 626df91dc56..fdb912089bc 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -17,22 +17,24 @@ Install tools and dependencies used for development:
     $ yum install git ant ant-devel java-1.6.0-openjdk java-1.6.0-openjdk-devel
     mysql mysql-server mkisofs gcc python MySQL-python openssh-clients wget
 
-    # yum -y update
-    # yum -y install java-1.7.0-openjdk
-    # yum -y install java-1.7.0-openjdk-devel
-    # yum -y install mysql-server
-    # yum -y install git
-    # yum -y install genisoimage
+    $ yum -y update
+    $ yum -y install java-1.7.0-openjdk
+    $ yum -y install java-1.7.0-openjdk-devel
+    $ yum -y install mysql-server
+    $ yum -y install git
+    $ yum -y install genisoimage
 
 Set up Maven (3.0.5):
 
-    # wget 
http://www.us.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
-    # tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /usr/local
-    # cd /usr/local
-    # ln -s apache-maven-3.0.5 maven
-    # echo export M2_HOME=/usr/local/maven >> ~/.bashrc # or .zshrc or .profile
-    # echo export PATH=/usr/local/maven/bin:${PATH} >> ~/.bashrc # or .zshrc 
or .profile
-    # source ~/.bashrc
+    $ wget 
http://www.us.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
+    $ tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /usr/local
+    $ cd /usr/local
+    $ ln -s apache-maven-3.0.5 maven
+    $ echo export M2_HOME=/usr/local/maven >> ~/.bashrc # or .zshrc or .profile
+    $ echo export PATH=/usr/local/maven/bin:${PATH} >> ~/.bashrc # or .zshrc 
or .profile
+    $ source ~/.bashrc
+
+*N.B.* Since 4.0.11 we're using [Maven 
Wrapper](https://github.com/takari/maven-wrapper) and you don't need to install 
Maven on dev/CI machine.
 
 Start the MySQL service:
 
@@ -40,16 +42,15 @@ Start the MySQL service:
 
 ### Using jenv and/or pyenv for Version Management
 
-CloudStack is built using Java and Python.  To make selection of these tools 
versions more consistent and ease installation for developers, optional support 
for [jenv](http://www.jenv.be/) and [pyenv](https://github.com/yyuu/pyenv) with 
[virtualenv]|(https://github.com/yyuu/pyenv-virtualenv) is provided.  jenv 
installation instructions are available here and pyenv installation 
instructions are available here.  For users of [oh-my-zsh](http://ohmyz.sh/) 
there is a pyenv plugin available to trigger configuration of pyenv in a shell 
session.
+CloudStack is built using Java and Python.  To make selection of these tools 
versions more consistent and ease installation for developers, optional support 
for [jenv](http://www.jenv.be/) and [pyenv](https://github.com/yyuu/pyenv) with 
[virtualenv](https://github.com/yyuu/pyenv-virtualenv) is provided.  jenv 
installation instructions are available here and pyenv installation 
instructions are available here.  For users of [oh-my-zsh](http://ohmyz.sh/) 
there is a pyenv plugin available to trigger configuration of pyenv in a shell 
session.
 
 Following installation, execute the following commands to configure jenv and 
pyenv for use with CloudStack development:
 
-'''
-  # pyenv install 2.7.11                                          # Install 
Python 2.7.11
-  # pyenv virtualenv 2.7.11 cloudstack                            # Create a 
cloidstack virtualenv using Python 2.7.11
-  # pip install -r <root CloudStack source tree>/requirements.txt # Install 
cloudstack Python dependencies
-  # jenv add <path to JDK 1.7 installation>                       # Add Java7 
to jenv
-'''
+    $ pyenv install 2.7.11                                          # Install 
Python 2.7.11
+    $ pyenv virtualenv 2.7.11 cloudstack                            # Create a 
cloidstack virtualenv using Python 2.7.11
+    $ pip install -r <root CloudStack source tree>/requirements.txt # Install 
cloudstack Python dependencies
+    $ jenv add <path to JDK 1.7 installation>                       # Add 
Java7 to jenv
+
 
 *N.B.* If you are running Linux, you may need to install additional packages 
to allow pyenv to build Python.
 
@@ -72,11 +73,11 @@ To checkout a specific branch, for example 4.4, do:
 
 Clean and build:
 
-    $ mvn clean install -P systemvm,developer
+    $ ./mvnw clean install -P systemvm,developer
 
 Clear old database (if any) and deploy the database schema:
 
-    $ mvn -P developer -pl developer -Ddeploydb
+    $ ./mvnw -P developer -pl developer -Ddeploydb
 
 Export the following variable if you need to run and debug the management 
server:
 
@@ -84,7 +85,7 @@ Export the following variable if you need to run and debug 
the management server
 
 Start the management server:
 
-    $ mvn -pl :cloud-client-ui jetty:run
+    $ ./mvnw -pl :cloud-client-ui jetty:run
 
 If this works, you've successfully setup a single server Apache CloudStack 
installation.
 
@@ -112,7 +113,7 @@ releases of CloudStack
 
 To build all non redistributable components, add the noredist flag to the 
build command:
 
-    $ mvn clean install -P systemvm,developer -Dnoredist
+    $ ./mvnw clean install -P systemvm,developer -Dnoredist
 
 ## Packaging and Installation
 
@@ -122,12 +123,12 @@ Before packaging, please make sure you go through the 
"Building" section above.
 
 To create debs install the following extra packages:
 
-    # apt-get -y install python-mysqldb
-    # apt-get -y install debhelper
+    $ apt-get -y install python-mysqldb
+    $ apt-get -y install debhelper
 
 Then:
 
-    $ mvn -P deps # -D noredist, for noredist as described in the "Building" 
section above
+    $ ./mvnw -P deps # -D noredist, for noredist as described in the 
"Building" section above
     $ dpkg-buildpackage -uc -us
 
 All the deb packages will be located one level down.
@@ -136,11 +137,11 @@ All the deb packages will be located one level down.
 
 To create rpms, install the following extra packages:
 
-    # yum -y install rpm-build
-    # yum -y install ws-commons-util
-    # yum -y instal gcc
-    # yum -y install glibc-devel
-    # yum -y install MySQL-python
+    $ yum -y install rpm-build
+    $ yum -y install ws-commons-util
+    $ yum -y instal gcc
+    $ yum -y install glibc-devel
+    $ yum -y install MySQL-python
 
 Then:
 
diff --git a/deps/install-non-oss.sh b/deps/install-non-oss.sh
index 2f5027cd4c0..6589238c218 100755
--- a/deps/install-non-oss.sh
+++ b/deps/install-non-oss.sh
@@ -18,23 +18,23 @@
 
 # From https://devcentral.f5.com
 # Version: unknown
-mvn install:install-file -Dfile=cloud-iControl.jar      
-DgroupId=com.cloud.com.f5     -DartifactId=icontrol        -Dversion=1.0   
-Dpackaging=jar
+../mvnw install:install-file -Dfile=cloud-iControl.jar      
-DgroupId=com.cloud.com.f5     -DartifactId=icontrol        -Dversion=1.0   
-Dpackaging=jar
 
 # From Citrix
 # Version: unknown
-mvn install:install-file -Dfile=cloud-netscaler-sdx.jar 
-DgroupId=com.cloud.com.citrix -DartifactId=netscaler-sdx   -Dversion=1.0   
-Dpackaging=jar
+../mvnw install:install-file -Dfile=cloud-netscaler-sdx.jar 
-DgroupId=com.cloud.com.citrix -DartifactId=netscaler-sdx   -Dversion=1.0   
-Dpackaging=jar
 
 # From http://support.netapp.com/  (not available online, contact your support 
representative)
 # Version: 4.0
 if [ -e cloud-manageontap.jar ]; then mv cloud-manageontap.jar 
manageontap.jar;  fi
-mvn install:install-file -Dfile=manageontap.jar   
-DgroupId=com.cloud.com.netapp -DartifactId=manageontap     -Dversion=4.0   
-Dpackaging=jar
+../mvnw install:install-file -Dfile=manageontap.jar   
-DgroupId=com.cloud.com.netapp -DartifactId=manageontap     -Dversion=4.0   
-Dpackaging=jar
 
 # From 
https://my.vmware.com/group/vmware/get-download?downloadGroup=VSP510-WEBSDK-510
 # Version: 5.1, Release-date: 2012-09-10, Build: 774886
-mvn install:install-file -Dfile=vim25_51.jar        
-DgroupId=com.cloud.com.vmware -DartifactId=vmware-vim25    -Dversion=5.1   
-Dpackaging=jar
+../mvnw install:install-file -Dfile=vim25_51.jar        
-DgroupId=com.cloud.com.vmware -DartifactId=vmware-vim25    -Dversion=5.1   
-Dpackaging=jar
 
 # From https://my.vmware.com/group/vmware/get-download?downloadGroup=WEBSDK550
-mvn install:install-file -Dfile=vim25_55.jar        
-DgroupId=com.cloud.com.vmware -DartifactId=vmware-vim25    -Dversion=5.5   
-Dpackaging=jar
+../mvnw install:install-file -Dfile=vim25_55.jar        
-DgroupId=com.cloud.com.vmware -DartifactId=vmware-vim25    -Dversion=5.5   
-Dpackaging=jar
 
 # From https://my.vmware.com VMware-vSphere-SDK-6.0.0-3634981.zip
-mvn install:install-file -Dfile=vim25_60.jar        
-DgroupId=com.cloud.com.vmware -DartifactId=vmware-vim25    -Dversion=6.0   
-Dpackaging=jar
+../mvnw install:install-file -Dfile=vim25_60.jar        
-DgroupId=com.cloud.com.vmware -DartifactId=vmware-vim25    -Dversion=6.0   
-Dpackaging=jar
diff --git a/mvnw b/mvnw
new file mode 100755
index 00000000000..e96ccd5fbbb
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,227 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+#   JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+#   M2_HOME - location of maven2's installed home dir
+#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
+#     e.g. to debug Maven itself, use
+#       set MAVEN_OPTS=-Xdebug 
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+  if [ -f /etc/mavenrc ] ; then
+    . /etc/mavenrc
+  fi
+
+  if [ -f "$HOME/.mavenrc" ] ; then
+    . "$HOME/.mavenrc"
+  fi
+
+fi
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+    # Use /usr/libexec/java_home if available, otherwise fall back to 
/Library/Java/Home
+    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+    if [ -z "$JAVA_HOME" ]; then
+      if [ -x "/usr/libexec/java_home" ]; then
+        export JAVA_HOME="`/usr/libexec/java_home`"
+      else
+        export JAVA_HOME="/Library/Java/Home"
+      fi
+    fi
+    ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+  ## resolve links - $0 may be a link to maven's home
+  PRG="$0"
+
+  # need this for relative symlinks
+  while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+      PRG="$link"
+    else
+      PRG="`dirname "$PRG"`/$link"
+    fi
+  done
+
+  saveddir=`pwd`
+
+  M2_HOME=`dirname "$PRG"`/..
+
+  # make it fully qualified
+  M2_HOME=`cd "$M2_HOME" && pwd`
+
+  cd "$saveddir"
+  # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --unix "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME="`(cd "$M2_HOME"; pwd)`"
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+  # TODO classpath?
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+  javaExecutable="`which javac`"
+  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ 
]*\)'`" = "no" ]; then
+    # readlink(1) is not available as standard on Solaris 10.
+    readLink=`which readlink`
+    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+      if $darwin ; then
+        javaHome="`dirname \"$javaExecutable\"`"
+        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+      else
+        javaExecutable="`readlink -f \"$javaExecutable\"`"
+      fi
+      javaHome="`dirname \"$javaExecutable\"`"
+      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+      JAVA_HOME="$javaHome"
+      export JAVA_HOME
+    fi
+  fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  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"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly." >&2
+  echo "  We cannot execute $JAVACMD" >&2
+  exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+  echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+  if [ -z "$1" ]
+  then
+    echo "Path not specified to find_maven_basedir"
+    return 1
+  fi
+
+  basedir="$1"
+  wdir="$1"
+  while [ "$wdir" != '/' ] ; do
+    if [ -d "$wdir"/.mvn ] ; then
+      basedir=$wdir
+      break
+    fi
+    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+    if [ -d "${wdir}" ]; then
+      wdir=`cd "$wdir/.."; pwd`
+    fi
+    # end of workaround
+  done
+  echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+  if [ -f "$1" ]; then
+    echo "$(tr -s '\n' ' ' < "$1")"
+  fi
+}
+
+BASE_DIR=`find_maven_basedir "$(pwd)"`
+if [ -z "$BASE_DIR" ]; then
+  exit 1;
+fi
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+  echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") 
$MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --path --windows "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+    MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+  $MAVEN_OPTS \
+  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+  "-Dmaven.home=${M2_HOME}" 
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100755
index 00000000000..4f0b068a037
--- /dev/null
+++ b/mvnw.cmd
@@ -0,0 +1,145 @@
+@REM 
----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements.  See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership.  The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License.  You may obtain a copy of the License at
+@REM
+@REM    http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied.  See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM 
----------------------------------------------------------------------------
+
+@REM 
----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM     e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug 
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM 
----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd 
ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another 
setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder 
".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto 
endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do 
set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% 
-classpath %WRAPPER_JAR% 
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% 
%MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd 
ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Use maven wrapper
> -----------------
>
>                 Key: CLOUDSTACK-10161
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10161
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>            Reporter: Khosrow Moossavi
>            Priority: Minor
>
> The goal is to use Maven wrapper (https://github.com/takari/maven-wrapper) to 
> decouple dependency to maven being installed on developer/ci machine.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to