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
+