123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- @echo off
- setlocal
- REM Set intermediate env vars because the %VAR:x=y% notation below
- REM (which replaces the string x with the string y in VAR)
- REM doesn't handle undefined environment variables. This way
- REM we're always dealing with defined variables in those tests.
- set CHK_JAVA_HOME=_%JAVA_HOME%
- set CHK_SERVICE_HOME=_%SERVICE_HOME%
- set CHK_CREDENTIAL_FILE=_%AWS_CREDENTIAL_FILE%
- if "%CHK_CREDENTIAL_FILE:"=%" == "_" goto CREDENTIAL_FILE_MISSING
- SET AWS_CREDENTIAL_FILE=%AWS_CREDENTIAL_FILE:"=%
- :CREDENTIAL_FILE_MISSING
- if "%CHK_SERVICE_HOME:"=%" == "_" goto SERVICE_HOME_MISSING
- if "%CHK_JAVA_HOME:"=%" == "_" goto JAVA_HOME_MISSING
- REM If a classpath exists preserve it
- SET SERVICE_HOME=%SERVICE_HOME:"=%
- SET LIB="%SERVICE_HOME%\lib"
- REM Brute force
- SET CP=%LIB%\service.jar
- SET CP=%CP%;%LIB%\CliCommando-1.0.jar
- SET CP=%CP%;%LIB%\Commons-codec-1.3.jar
- SET CP=%CP%;%LIB%\Commons-cli-1.1.jar
- SET CP=%CP%;%LIB%\activation-1.1.jar
- SET CP=%CP%;%LIB%\CliCommando-1.0.jar
- SET CP=%CP%;%LIB%\commons-discovery-0.2.jar
- SET CP=%CP%;%LIB%\commons-httpclient-3.0.jar
- SET CP=%CP%;%LIB%\commons-logging-1.0.4.jar
- SET CP=%CP%;%LIB%\commons-logging-api-1.1.1.jar
- SET CP=%CP%;%LIB%\service.jar
- SET CP=%CP%;%LIB%\jaxb-api-2.0.jar
- SET CP=%CP%;%LIB%\jaxb-impl-2.0.1.jar
- SET CP=%CP%;%LIB%\jaxws-api-2.0.jar
- SET CP=%CP%;%LIB%\jdom-1.0.jar
- SET CP=%CP%;%LIB%\log4j.jar
- SET CP=%CP%;%LIB%\serializer.jar
- SET CP=%CP%;%LIB%\stax-api-1.0.1.jar
- SET CP=%CP%;%LIB%\wsdl4j-1.6.1.jar
- SET CP=%CP%;%LIB%\wss4j-1.5.7.jar
- SET CP=%CP%;%LIB%\wstx-asl-3.2.0.jar
- SET CP=%CP%;%LIB%\xalan-j2-2.7.0.jar
- SET CP=%CP%;%LIB%\xfire-all-1.2.6.jar
- SET CP=%CP%;%LIB%\xfire-jsr181-api-1.0-M1.jar
- SET CP=%CP%;%LIB%\xmlsec-1.4.2.jar
- REM Grab the class name
- SET CMD=%1
- REM SHIFT doesn't affect %* so we need this clunky hack
- SET ARGV=%2
- SHIFT
- SHIFT
- :ARGV_LOOP
- IF (%1) == () GOTO ARGV_DONE
- REM Get around strange quoting bug
- SET ARG=%1
- REM Escape the minus sign for negative numbers
- ECHO %ARG% > %TEMP%\argtest
- FINDSTR /B \-[0-9.] %TEMP%\argtest > NUL
- if %ERRORLEVEL%==0 (
- SET ARG=\%ARG%
- )
- DEL %TEMP%\argtest
- SET ARG=%ARG:"=%
- SET ARGV=%ARGV% "%ARG%"
- SHIFT
- GOTO ARGV_LOOP
- :ARGV_DONE
- REM Make sure JAVA_HOME has only a single sorrounding double quotes
- set JAVA_HOME="%JAVA_HOME:"=%"
- REM run
- %JAVA_HOME%\bin\java %SERVICE_JVM_ARGS% -classpath %CP% com.amazon.webservices.Cli %CMD% %ARGV%
- goto DONE
- :JAVA_HOME_MISSING
- echo JAVA_HOME is not set
- exit /b 1
- :SERVICE_HOME_MISSING
- echo "This command is not intended to be run directly. Please see documentation on using service commands."
- exit /b 1
- :DONE
- endlocal
|