You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.0 KiB
111 lines
3.0 KiB
@echo off
|
|
REM Copyright (C) 2018 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 d8.jar in the directory where d8.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 Find java.exe
|
|
if defined JAVA_HOME goto findJavaFromJavaHome
|
|
|
|
set JAVA_EXE=java.exe
|
|
%JAVA_EXE% -version >NUL 2>&1
|
|
if "%ERRORLEVEL%" == "0" goto init
|
|
|
|
echo.
|
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
|
echo.
|
|
echo Please set the JAVA_HOME variable in your environment to match the
|
|
echo location of your Java installation.
|
|
exit /b 1
|
|
|
|
:findJavaFromJavaHome
|
|
set JAVA_HOME=%JAVA_HOME:"=%
|
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
|
|
|
if exist "%JAVA_EXE%" goto init
|
|
|
|
echo.
|
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
|
echo.
|
|
echo Please set the JAVA_HOME variable in your environment to match the
|
|
echo location of your Java installation.
|
|
exit /b 1
|
|
|
|
:init
|
|
set jarfile=d8.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 d8 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".
|
|
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%" -cp "%jarpath%" com.android.tools.r8.D8 %params%
|
|
|