| @echo off↵ |
| REM Copyright (C) 2017 The Android Open Source Project↵ |
| REM↵ |
| REM Licensed under the Apache License, Version 2.0 (the "License");↵ |
| REM you may not use this file except in compliance with the License.↵ |
| REM 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, software↵ |
| REM distributed under the License is distributed on an "AS IS" BASIS,↵ |
| REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.↵ |
| REM See the License for the specific language governing permissions and↵ |
| REM limitations under the License.↵ |
| ↵ |
| REM don't modify the caller's environment↵ |
| setlocal↵ |
| ↵ |
| REM Locate bundletool.jar in the directory where bundletool.bat was found and start it.↵ |
| ↵ |
| REM Set up prog to be the path of this script, including following symlinks,↵ |
| REM and set up progdir to be the fully-qualified pathname of its directory.↵ |
| set prog=%~f0↵ |
| ↵ |
| rem Check we have a valid Java.exe in the path.↵ |
| set java_exe=↵ |
| if exist "%~dp0..\tools\lib\find_java.bat" call "%~dp0..\tools\lib\find_java.bat"↵ |
| if exist "%~dp0..\..\tools\lib\find_java.bat" call "%~dp0..\..\tools\lib\find_java.bat"↵ |
| if not defined java_exe goto :EOF↵ |
| ↵ |
| set jarfile=bundletool.jar↵ |
| set "frameworkdir=%~dp0"↵ |
| rem frameworkdir must not end with a dir sep.↵ |
| set "frameworkdir=%frameworkdir:~0,-1%"↵ |
| ↵ |
| if exist "%frameworkdir%\%jarfile%" goto JarFileOk↵ |
| set "frameworkdir=%~dp0lib"↵ |
| ↵ |
| if exist "%frameworkdir%\%jarfile%" goto JarFileOk↵ |
| set "frameworkdir=%~dp0..\framework"↵ |
| ↵ |
| :JarFileOk↵ |
| ↵ |
| set "jarpath=%frameworkdir%\%jarfile%"↵ |
| ↵ |
| set javaOpts=↵ |
| set args=↵ |
| ↵ |
| REM By default, give bundletool a max heap size of 1 gig and a stack size of 1meg.↵ |
| rem This can be overridden by using "-JXmx..." and "-JXss..." options below.↵ |
| set defaultXmx=-Xmx1024M↵ |
| set defaultXss=-Xss1m↵ |
| ↵ |
| REM Capture all arguments that are not -J options.↵ |
| REM Note that when reading the input arguments with %1, the cmd.exe↵ |
| REM automagically converts --name=value arguments into 2 arguments "--name"↵ |
| REM followed by "value". Dx has been changed to know how to deal with that.↵ |
| set params=↵ |
| ↵ |
| :firstArg↵ |
| if [%1]==[] goto endArgs↵ |
| set a=%~1↵ |
| ↵ |
| if [%defaultXmx%]==[] goto notXmx↵ |
| if %a:~0,5% NEQ -JXmx goto notXmx↵ |
| set defaultXmx=↵ |
| :notXmx↵ |
| ↵ |
| if [%defaultXss%]==[] goto notXss↵ |
| if %a:~0,5% NEQ -JXss goto notXss↵ |
| set defaultXss=↵ |
| :notXss↵ |
| ↵ |
| if %a:~0,2% NEQ -J goto notJ↵ |
| set javaOpts=%javaOpts% -%a:~2%↵ |
| shift /1↵ |
| goto firstArg↵ |
| ↵ |
| :notJ↵ |
| set params=%params% %1↵ |
| shift /1↵ |
| goto firstArg↵ |
| ↵ |
| :endArgs↵ |
| ↵ |
| set javaOpts=%javaOpts% %defaultXmx% %defaultXss%↵ |
| call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params%↵ |
| ↵ |