1*ba8755cbSAndroid Build Coastguard Worker@REM ---------------------------------------------------------------------------- 2*ba8755cbSAndroid Build Coastguard Worker@REM Licensed to the Apache Software Foundation (ASF) under one 3*ba8755cbSAndroid Build Coastguard Worker@REM or more contributor license agreements. See the NOTICE file 4*ba8755cbSAndroid Build Coastguard Worker@REM distributed with this work for additional information 5*ba8755cbSAndroid Build Coastguard Worker@REM regarding copyright ownership. The ASF licenses this file 6*ba8755cbSAndroid Build Coastguard Worker@REM to you under the Apache License, Version 2.0 (the 7*ba8755cbSAndroid Build Coastguard Worker@REM "License"); you may not use this file except in compliance 8*ba8755cbSAndroid Build Coastguard Worker@REM with the License. You may obtain a copy of the License at 9*ba8755cbSAndroid Build Coastguard Worker@REM 10*ba8755cbSAndroid Build Coastguard Worker@REM http://www.apache.org/licenses/LICENSE-2.0 11*ba8755cbSAndroid Build Coastguard Worker@REM 12*ba8755cbSAndroid Build Coastguard Worker@REM Unless required by applicable law or agreed to in writing, 13*ba8755cbSAndroid Build Coastguard Worker@REM software distributed under the License is distributed on an 14*ba8755cbSAndroid Build Coastguard Worker@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15*ba8755cbSAndroid Build Coastguard Worker@REM KIND, either express or implied. See the License for the 16*ba8755cbSAndroid Build Coastguard Worker@REM specific language governing permissions and limitations 17*ba8755cbSAndroid Build Coastguard Worker@REM under the License. 18*ba8755cbSAndroid Build Coastguard Worker@REM ---------------------------------------------------------------------------- 19*ba8755cbSAndroid Build Coastguard Worker 20*ba8755cbSAndroid Build Coastguard Worker@REM ---------------------------------------------------------------------------- 21*ba8755cbSAndroid Build Coastguard Worker@REM Maven2 Start Up Batch script 22*ba8755cbSAndroid Build Coastguard Worker@REM 23*ba8755cbSAndroid Build Coastguard Worker@REM Required ENV vars: 24*ba8755cbSAndroid Build Coastguard Worker@REM JAVA_HOME - location of a JDK home dir 25*ba8755cbSAndroid Build Coastguard Worker@REM 26*ba8755cbSAndroid Build Coastguard Worker@REM Optional ENV vars 27*ba8755cbSAndroid Build Coastguard Worker@REM M2_HOME - location of maven2's installed home dir 28*ba8755cbSAndroid Build Coastguard Worker@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands 29*ba8755cbSAndroid Build Coastguard Worker@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending 30*ba8755cbSAndroid Build Coastguard Worker@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven 31*ba8755cbSAndroid Build Coastguard Worker@REM e.g. to debug Maven itself, use 32*ba8755cbSAndroid Build Coastguard Worker@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 33*ba8755cbSAndroid Build Coastguard Worker@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files 34*ba8755cbSAndroid Build Coastguard Worker@REM ---------------------------------------------------------------------------- 35*ba8755cbSAndroid Build Coastguard Worker 36*ba8755cbSAndroid Build Coastguard Worker@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' 37*ba8755cbSAndroid Build Coastguard Worker@echo off 38*ba8755cbSAndroid Build Coastguard Worker@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' 39*ba8755cbSAndroid Build Coastguard Worker@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% 40*ba8755cbSAndroid Build Coastguard Worker 41*ba8755cbSAndroid Build Coastguard Worker@REM set %HOME% to equivalent of $HOME 42*ba8755cbSAndroid Build Coastguard Workerif "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") 43*ba8755cbSAndroid Build Coastguard Worker 44*ba8755cbSAndroid Build Coastguard Worker@REM Execute a user defined script before this one 45*ba8755cbSAndroid Build Coastguard Workerif not "%MAVEN_SKIP_RC%" == "" goto skipRcPre 46*ba8755cbSAndroid Build Coastguard Worker@REM check for pre script, once with legacy .bat ending and once with .cmd ending 47*ba8755cbSAndroid Build Coastguard Workerif exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" 48*ba8755cbSAndroid Build Coastguard Workerif exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" 49*ba8755cbSAndroid Build Coastguard Worker:skipRcPre 50*ba8755cbSAndroid Build Coastguard Worker 51*ba8755cbSAndroid Build Coastguard Worker@setlocal 52*ba8755cbSAndroid Build Coastguard Worker 53*ba8755cbSAndroid Build Coastguard Workerset ERROR_CODE=0 54*ba8755cbSAndroid Build Coastguard Worker 55*ba8755cbSAndroid Build Coastguard Worker@REM To isolate internal variables from possible post scripts, we use another setlocal 56*ba8755cbSAndroid Build Coastguard Worker@setlocal 57*ba8755cbSAndroid Build Coastguard Worker 58*ba8755cbSAndroid Build Coastguard Worker@REM ==== START VALIDATION ==== 59*ba8755cbSAndroid Build Coastguard Workerif not "%JAVA_HOME%" == "" goto OkJHome 60*ba8755cbSAndroid Build Coastguard Worker 61*ba8755cbSAndroid Build Coastguard Workerecho. 62*ba8755cbSAndroid Build Coastguard Workerecho Error: JAVA_HOME not found in your environment. >&2 63*ba8755cbSAndroid Build Coastguard Workerecho Please set the JAVA_HOME variable in your environment to match the >&2 64*ba8755cbSAndroid Build Coastguard Workerecho location of your Java installation. >&2 65*ba8755cbSAndroid Build Coastguard Workerecho. 66*ba8755cbSAndroid Build Coastguard Workergoto error 67*ba8755cbSAndroid Build Coastguard Worker 68*ba8755cbSAndroid Build Coastguard Worker:OkJHome 69*ba8755cbSAndroid Build Coastguard Workerif exist "%JAVA_HOME%\bin\java.exe" goto init 70*ba8755cbSAndroid Build Coastguard Worker 71*ba8755cbSAndroid Build Coastguard Workerecho. 72*ba8755cbSAndroid Build Coastguard Workerecho Error: JAVA_HOME is set to an invalid directory. >&2 73*ba8755cbSAndroid Build Coastguard Workerecho JAVA_HOME = "%JAVA_HOME%" >&2 74*ba8755cbSAndroid Build Coastguard Workerecho Please set the JAVA_HOME variable in your environment to match the >&2 75*ba8755cbSAndroid Build Coastguard Workerecho location of your Java installation. >&2 76*ba8755cbSAndroid Build Coastguard Workerecho. 77*ba8755cbSAndroid Build Coastguard Workergoto error 78*ba8755cbSAndroid Build Coastguard Worker 79*ba8755cbSAndroid Build Coastguard Worker@REM ==== END VALIDATION ==== 80*ba8755cbSAndroid Build Coastguard Worker 81*ba8755cbSAndroid Build Coastguard Worker:init 82*ba8755cbSAndroid Build Coastguard Worker 83*ba8755cbSAndroid Build Coastguard Worker@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". 84*ba8755cbSAndroid Build Coastguard Worker@REM Fallback to current working directory if not found. 85*ba8755cbSAndroid Build Coastguard Worker 86*ba8755cbSAndroid Build Coastguard Workerset MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% 87*ba8755cbSAndroid Build Coastguard WorkerIF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir 88*ba8755cbSAndroid Build Coastguard Worker 89*ba8755cbSAndroid Build Coastguard Workerset EXEC_DIR=%CD% 90*ba8755cbSAndroid Build Coastguard Workerset WDIR=%EXEC_DIR% 91*ba8755cbSAndroid Build Coastguard Worker:findBaseDir 92*ba8755cbSAndroid Build Coastguard WorkerIF EXIST "%WDIR%"\.mvn goto baseDirFound 93*ba8755cbSAndroid Build Coastguard Workercd .. 94*ba8755cbSAndroid Build Coastguard WorkerIF "%WDIR%"=="%CD%" goto baseDirNotFound 95*ba8755cbSAndroid Build Coastguard Workerset WDIR=%CD% 96*ba8755cbSAndroid Build Coastguard Workergoto findBaseDir 97*ba8755cbSAndroid Build Coastguard Worker 98*ba8755cbSAndroid Build Coastguard Worker:baseDirFound 99*ba8755cbSAndroid Build Coastguard Workerset MAVEN_PROJECTBASEDIR=%WDIR% 100*ba8755cbSAndroid Build Coastguard Workercd "%EXEC_DIR%" 101*ba8755cbSAndroid Build Coastguard Workergoto endDetectBaseDir 102*ba8755cbSAndroid Build Coastguard Worker 103*ba8755cbSAndroid Build Coastguard Worker:baseDirNotFound 104*ba8755cbSAndroid Build Coastguard Workerset MAVEN_PROJECTBASEDIR=%EXEC_DIR% 105*ba8755cbSAndroid Build Coastguard Workercd "%EXEC_DIR%" 106*ba8755cbSAndroid Build Coastguard Worker 107*ba8755cbSAndroid Build Coastguard Worker:endDetectBaseDir 108*ba8755cbSAndroid Build Coastguard Worker 109*ba8755cbSAndroid Build Coastguard WorkerIF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig 110*ba8755cbSAndroid Build Coastguard Worker 111*ba8755cbSAndroid Build Coastguard Worker@setlocal EnableExtensions EnableDelayedExpansion 112*ba8755cbSAndroid Build Coastguard Workerfor /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a 113*ba8755cbSAndroid Build Coastguard Worker@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% 114*ba8755cbSAndroid Build Coastguard Worker 115*ba8755cbSAndroid Build Coastguard Worker:endReadAdditionalConfig 116*ba8755cbSAndroid Build Coastguard Worker 117*ba8755cbSAndroid Build Coastguard WorkerSET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" 118*ba8755cbSAndroid Build Coastguard Worker 119*ba8755cbSAndroid Build Coastguard Workerset WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" 120*ba8755cbSAndroid Build Coastguard Workerset WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 121*ba8755cbSAndroid Build Coastguard Worker 122*ba8755cbSAndroid Build Coastguard Worker%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* 123*ba8755cbSAndroid Build Coastguard Workerif ERRORLEVEL 1 goto error 124*ba8755cbSAndroid Build Coastguard Workergoto end 125*ba8755cbSAndroid Build Coastguard Worker 126*ba8755cbSAndroid Build Coastguard Worker:error 127*ba8755cbSAndroid Build Coastguard Workerset ERROR_CODE=1 128*ba8755cbSAndroid Build Coastguard Worker 129*ba8755cbSAndroid Build Coastguard Worker:end 130*ba8755cbSAndroid Build Coastguard Worker@endlocal & set ERROR_CODE=%ERROR_CODE% 131*ba8755cbSAndroid Build Coastguard Worker 132*ba8755cbSAndroid Build Coastguard Workerif not "%MAVEN_SKIP_RC%" == "" goto skipRcPost 133*ba8755cbSAndroid Build Coastguard Worker@REM check for post script, once with legacy .bat ending and once with .cmd ending 134*ba8755cbSAndroid Build Coastguard Workerif exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" 135*ba8755cbSAndroid Build Coastguard Workerif exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" 136*ba8755cbSAndroid Build Coastguard Worker:skipRcPost 137*ba8755cbSAndroid Build Coastguard Worker 138*ba8755cbSAndroid Build Coastguard Worker@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' 139*ba8755cbSAndroid Build Coastguard Workerif "%MAVEN_BATCH_PAUSE%" == "on" pause 140*ba8755cbSAndroid Build Coastguard Worker 141*ba8755cbSAndroid Build Coastguard Workerif "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% 142*ba8755cbSAndroid Build Coastguard Worker 143*ba8755cbSAndroid Build Coastguard Workerexit /B %ERROR_CODE% 144