Add wrapper scripts for launching apksigner

This adds a shell script and a Windows batch file for launching
apksigner command-line tool. The approach was copied from dalvik/dx.

Bug: 27461702
Change-Id: Icb6f6a711bbc31f4dda4f31c97f4d740a6091f86
diff --git a/etc/apksigner.bat b/etc/apksigner.bat
new file mode 100755
index 0000000..024f4e1
--- /dev/null
+++ b/etc/apksigner.bat
@@ -0,0 +1,88 @@
+@echo off

+REM Copyright (C) 2016 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 apksigner.jar in the directory where apksigner.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=apksigner.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 apksigner 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". apksigner 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%

+