FELIX-1624: Add convenience start/stop scripts to run Karaf in the background

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@818654 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/karaf/assembly/src/main/distribution/windows-text/bin/stop.bat b/karaf/assembly/src/main/distribution/windows-text/bin/stop.bat
new file mode 100755
index 0000000..3745aad
--- /dev/null
+++ b/karaf/assembly/src/main/distribution/windows-text/bin/stop.bat
@@ -0,0 +1,166 @@
+@echo off

+rem

+rem

+rem    Licensed to the Apache Software Foundation (ASF) under one or more

+rem    contributor license agreements.  See the NOTICE file distributed with

+rem    this work for additional information regarding copyright ownership.

+rem    The ASF licenses this file to You under the Apache License, Version 2.0

+rem    (the "License"); you may not use this file except in compliance with

+rem    the License.  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

+rem 

+rem $Id: karaf.bat 979 2005-11-30 22:50:55Z bsnyder $

+rem 

+

+if not "%ECHO%" == "" echo %ECHO%

+

+setlocal

+set DIRNAME=%~dp0%

+set PROGNAME=%~nx0%

+set ARGS=%*

+

+title Karaf

+

+goto BEGIN

+

+:warn

+    echo %PROGNAME%: %*

+goto :EOF

+

+:BEGIN

+

+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

+

+if not "%KARAF_HOME%" == "" (

+    call :warn Ignoring predefined value for KARAF_HOME

+)

+set KARAF_HOME=%DIRNAME%..

+if not exist "%KARAF_HOME%" (

+    call :warn KARAF_HOME is not valid: %KARAF_HOME%

+    goto END

+)

+

+if not "%KARAF_BASE%" == "" (

+    if not exist "%KARAF_BASE%" (

+       call :warn KARAF_BASE is not valid: %KARAF_BASE%

+       goto END

+    )

+)

+if "%KARAF_BASE%" == "" (

+  set KARAF_BASE=%KARAF_HOME%

+)

+

+set LOCAL_CLASSPATH=%CLASSPATH%

+set DEFAULT_JAVA_OPTS=-server -Xmx512M -Dderby.system.home="%KARAF_BASE%\data\derby" -Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote

+set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf

+set DEFAULT_JAVA_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005

+

+if "%LOCAL_CLASSPATH%" == "" goto :KARAF_CLASSPATH_EMPTY

+    set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf

+    goto :KARAF_CLASSPATH_END

+:KARAF_CLASSPATH_EMPTY

+    set CLASSPATH=%KARAF_BASE%\conf

+:KARAF_CLASSPATH_END

+

+rem Setup Karaf Home

+if exist "%KARAF_HOME%\conf\karaf-rc.cmd" call %KARAF_HOME%\conf\karaf-rc.cmd

+if exist "%HOME%\karaf-rc.cmd" call %HOME%\karaf-rc.cmd

+

+rem Support for loading native libraries

+set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib

+

+rem Setup the Java Virtual Machine

+if not "%JAVA%" == "" goto :Check_JAVA_END

+    set JAVA=java

+    if "%JAVA_HOME%" == "" call :warn JAVA_HOME not set; results may vary

+    if not "%JAVA_HOME%" == "" set JAVA=%JAVA_HOME%\bin\java

+    if not exist "%JAVA_HOME%" (

+        call :warn JAVA_HOME is not valid: "%JAVA_HOME%"

+        goto END

+    )

+:Check_JAVA_END

+

+if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%

+

+if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END

+    rem Use the defaults if JAVA_DEBUG_OPTS was not set

+    if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%

+    

+    set "JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%"

+    call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%

+:KARAF_DEBUG_END

+

+if "%KARAF_PROFILER%" == "" goto :KARAF_PROFILER_END

+    set KARAF_PROFILER_SCRIPT=%KARAF_HOME%\conf\profiler\%KARAF_PROFILER%.cmd

+    

+    if exist "%KARAF_PROFILER_SCRIPT%" goto :KARAF_PROFILER_END

+    call :warn Missing configuration for profiler '%KARAF_PROFILER%': %KARAF_PROFILER_SCRIPT%

+    goto END

+:KARAF_PROFILER_END

+

+rem Setup the classpath

+pushd "%KARAF_HOME%\lib"

+for %%G in (*.*) do call:APPEND_TO_CLASSPATH %%G

+popd

+goto CLASSPATH_END

+

+: APPEND_TO_CLASSPATH

+set filename=%~1

+set suffix=%filename:~-4%

+if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%

+goto :EOF

+

+:CLASSPATH_END

+

+rem Execute the JVM or the load the profiler

+if "%KARAF_PROFILER%" == "" goto :RUN

+    rem Execute the profiler if it has been configured

+    call :warn Loading profiler script: %KARAF_PROFILER_SCRIPT%

+    call %KARAF_PROFILER_SCRIPT%

+

+:RUN

+    SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true

+    SET SHIFT=false

+    if "%1" == "console" goto :EXECUTE_CONSOLE

+    if "%1" == "server" goto :EXECUTE_SERVER

+    if "%1" == "client" goto :EXECUTE_CLIENT

+    goto :EXECUTE

+

+:EXECUTE_CONSOLE

+    SET SHIFT=true

+    goto :EXECUTE    

+

+:EXECUTE_SERVER

+    SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true

+    SET SHIFT=true

+    goto :EXECUTE

+

+:EXECUTE_CLIENT

+    SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false

+    SET SHIFT=true

+    goto :EXECUTE

+

+:EXECUTE

+    if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8

+    if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8    

+    rem Execute the Java Virtual Machine

+    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" -jar "%KARAF_HOME%\lib\karaf-client.jar" "osgi:shutdown"

+

+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

+

+:END

+

+endlocal

+

+if not "%PAUSE%" == "" pause

+

+:END_NO_PAUSE

+