Ivan Gavrilovic | 69befeb | 2018-05-17 10:04:09 +0100 | [diff] [blame] | 1 | @echo off |
| 2 | REM Copyright (C) 2018 The Android Open Source Project |
| 3 | REM |
| 4 | REM Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | REM you may not use this file except in compliance with the License. |
| 6 | REM You may obtain a copy of the License at |
| 7 | REM |
| 8 | REM http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | REM |
| 10 | REM Unless required by applicable law or agreed to in writing, software |
| 11 | REM distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | REM See the License for the specific language governing permissions and |
| 14 | REM limitations under the License. |
| 15 | |
| 16 | REM don't modify the caller's environment |
| 17 | setlocal |
| 18 | |
| 19 | REM Locate d8.jar in the directory where d8.bat was found and start it. |
| 20 | |
| 21 | REM Set up prog to be the path of this script, including following symlinks, |
| 22 | REM and set up progdir to be the fully-qualified pathname of its directory. |
| 23 | set prog=%~f0 |
| 24 | |
| 25 | rem Check we have a valid Java.exe in the path. |
| 26 | set java_exe= |
| 27 | if exist "%~dp0..\tools\lib\find_java.bat" call "%~dp0..\tools\lib\find_java.bat" |
| 28 | if exist "%~dp0..\..\tools\lib\find_java.bat" call "%~dp0..\..\tools\lib\find_java.bat" |
| 29 | if not defined java_exe goto :EOF |
| 30 | |
| 31 | set jarfile=d8.jar |
| 32 | set "frameworkdir=%~dp0" |
| 33 | rem frameworkdir must not end with a dir sep. |
| 34 | set "frameworkdir=%frameworkdir:~0,-1%" |
| 35 | |
| 36 | if exist "%frameworkdir%\%jarfile%" goto JarFileOk |
| 37 | set "frameworkdir=%~dp0lib" |
| 38 | |
| 39 | if exist "%frameworkdir%\%jarfile%" goto JarFileOk |
| 40 | set "frameworkdir=%~dp0..\framework" |
| 41 | |
| 42 | :JarFileOk |
| 43 | |
| 44 | set "jarpath=%frameworkdir%\%jarfile%" |
| 45 | |
| 46 | set javaOpts= |
| 47 | set args= |
| 48 | |
| 49 | REM By default, give d8 a max heap size of 1 gig and a stack size of 1meg. |
| 50 | rem This can be overridden by using "-JXmx..." and "-JXss..." options below. |
| 51 | set defaultXmx=-Xmx1024M |
| 52 | set defaultXss=-Xss1m |
| 53 | |
| 54 | REM Capture all arguments that are not -J options. |
| 55 | REM Note that when reading the input arguments with %1, the cmd.exe |
| 56 | REM automagically converts --name=value arguments into 2 arguments "--name" |
| 57 | REM followed by "value". |
| 58 | set params= |
| 59 | |
| 60 | :firstArg |
| 61 | if [%1]==[] goto endArgs |
| 62 | set a=%~1 |
| 63 | |
| 64 | if [%defaultXmx%]==[] goto notXmx |
| 65 | if %a:~0,5% NEQ -JXmx goto notXmx |
| 66 | set defaultXmx= |
| 67 | :notXmx |
| 68 | |
| 69 | if [%defaultXss%]==[] goto notXss |
| 70 | if %a:~0,5% NEQ -JXss goto notXss |
| 71 | set defaultXss= |
| 72 | :notXss |
| 73 | |
| 74 | if %a:~0,2% NEQ -J goto notJ |
| 75 | set javaOpts=%javaOpts% -%a:~2% |
| 76 | shift /1 |
| 77 | goto firstArg |
| 78 | |
| 79 | :notJ |
| 80 | set params=%params% %1 |
| 81 | shift /1 |
| 82 | goto firstArg |
| 83 | |
| 84 | :endArgs |
| 85 | |
| 86 | set javaOpts=%javaOpts% %defaultXmx% %defaultXss% |
| 87 | call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params% |
| 88 | |