Do not use ShardDataTree in PruningDataTreeModificationTest
[controller.git] / karaf / opendaylight-karaf-resources / src / main / resources / bin / karaf.bat
1 @echo off
2 rem
3 rem
4 rem    Licensed to the Apache Software Foundation (ASF) under one or more
5 rem    contributor license agreements.  See the NOTICE file distributed with
6 rem    this work for additional information regarding copyright ownership.
7 rem    The ASF licenses this file to You under the Apache License, Version 2.0
8 rem    (the "License"); you may not use this file except in compliance with
9 rem    the License.  You may obtain a copy of the License at
10 rem
11 rem       http://www.apache.org/licenses/LICENSE-2.0
12 rem
13 rem    Unless required by applicable law or agreed to in writing, software
14 rem    distributed under the License is distributed on an "AS IS" BASIS,
15 rem    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 rem    See the License for the specific language governing permissions and
17 rem    limitations under the License.
18 rem
19
20 if not "%ECHO%" == "" echo %ECHO%
21
22 setlocal
23 set DIRNAME=%~dp0%
24 set PROGNAME=%~nx0%
25 set ARGS=%*
26
27 rem Sourcing environment settings for karaf similar to tomcats setenv
28 SET KARAF_SCRIPT="karaf.bat"
29 if exist "%DIRNAME%setenv.bat" (
30   call "%DIRNAME%setenv.bat"
31 )
32
33 rem Check console window title. Set to Karaf by default
34 if not "%KARAF_TITLE%" == "" (
35     title %KARAF_TITLE%
36 ) else (
37     title Karaf
38 )
39
40 rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage
41 if "%JAVA_MIN_MEM%" == "" (
42     set JAVA_MIN_MEM=128M
43 )
44 if "%JAVA_MAX_MEM%" == "" (
45     set JAVA_MAX_MEM=512M
46 )
47
48 goto BEGIN
49
50 :warn
51     echo %PROGNAME%: %*
52 goto :EOF
53
54 :BEGIN
55
56 rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
57
58 if not "%KARAF_HOME%" == "" (
59     call :warn Ignoring predefined value for KARAF_HOME
60 )
61 set KARAF_HOME=%DIRNAME%..
62 if not exist "%KARAF_HOME%" (
63     call :warn KARAF_HOME is not valid: "%KARAF_HOME%"
64     goto END
65 )
66
67 if not "%KARAF_BASE%" == "" (
68     if not exist "%KARAF_BASE%" (
69        call :warn KARAF_BASE is not valid: "%KARAF_BASE%"
70        goto END
71     )
72 )
73 if "%KARAF_BASE%" == "" (
74   set "KARAF_BASE=%KARAF_HOME%"
75 )
76
77 if not "%KARAF_DATA%" == "" (
78     if not exist "%KARAF_DATA%" (
79         call :warn KARAF_DATA is not valid: "%KARAF_DATA%"
80         goto END
81     )
82 )
83 if "%KARAF_DATA%" == "" (
84     set "KARAF_DATA=%KARAF_BASE%\data"
85 )
86
87 if not "%KARAF_ETC%" == "" (
88     if not exist "%KARAF_ETC%" (
89         call :warn KARAF_ETC is not valid: "%KARAF_ETC%"
90         goto END
91     )
92 )
93 if "%KARAF_ETC%" == "" (
94     set "KARAF_ETC=%KARAF_BASE%\etc"
95 )
96
97 set LOCAL_CLASSPATH=%CLASSPATH%
98 set JAVA_MODE=-server
99
100 set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
101 set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
102
103 if "%LOCAL_CLASSPATH%" == "" goto :KARAF_CLASSPATH_EMPTY
104     set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
105     goto :KARAF_CLASSPATH_END
106 :KARAF_CLASSPATH_EMPTY
107     set CLASSPATH=%KARAF_BASE%\conf
108 :KARAF_CLASSPATH_END
109
110 rem Setup Karaf Home
111 if exist "%KARAF_HOME%\conf\karaf-rc.cmd" call %KARAF_HOME%\conf\karaf-rc.cmd
112 if exist "%HOME%\karaf-rc.cmd" call %HOME%\karaf-rc.cmd
113
114 rem Support for loading native libraries
115 set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib
116
117 rem Setup the Java Virtual Machine
118 if not "%JAVA%" == "" goto :Check_JAVA_END
119     if not "%JAVA_HOME%" == "" goto :TryJDKEnd
120         call :warn JAVA_HOME not set; results may vary
121 :TryJRE
122     start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
123     if not exist __reg1.txt goto :TryJDK
124     type __reg1.txt | find "CurrentVersion" > __reg2.txt
125     if errorlevel 1 goto :TryJDK
126     for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
127     if errorlevel 1 goto :TryJDK
128     set JavaTemp=%JavaTemp%##
129     set JavaTemp=%JavaTemp:                ##=##%
130     set JavaTemp=%JavaTemp:        ##=##%
131     set JavaTemp=%JavaTemp:    ##=##%
132     set JavaTemp=%JavaTemp:  ##=##%
133     set JavaTemp=%JavaTemp: ##=##%
134     set JavaTemp=%JavaTemp:##=%
135     del __reg1.txt
136     del __reg2.txt
137     start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%JavaTemp%"
138     if not exist __reg1.txt goto :TryJDK
139     type __reg1.txt | find "JavaHome" > __reg2.txt
140     if errorlevel 1 goto :TryJDK
141     for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
142     if errorlevel 1 goto :TryJDK
143     del __reg1.txt
144     del __reg2.txt
145     goto TryJDKEnd
146 :TryJDK
147     start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
148     if not exist __reg1.txt (
149         goto TryRegJRE
150     )
151     type __reg1.txt | find "CurrentVersion" > __reg2.txt
152     if errorlevel 1 (
153         goto TryRegJRE
154     )
155     for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
156     if errorlevel 1 (
157         goto TryRegJRE
158     )
159     set JavaTemp=%JavaTemp%##
160     set JavaTemp=%JavaTemp:                ##=##%
161     set JavaTemp=%JavaTemp:        ##=##%
162     set JavaTemp=%JavaTemp:    ##=##%
163     set JavaTemp=%JavaTemp:  ##=##%
164     set JavaTemp=%JavaTemp: ##=##%
165     set JavaTemp=%JavaTemp:##=%
166     del __reg1.txt
167     del __reg2.txt
168     start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"
169     if not exist __reg1.txt (
170         goto TryRegJRE
171     )
172     type __reg1.txt | find "JavaHome" > __reg2.txt
173     if errorlevel 1 (
174         goto TryRegJRE
175     )
176     for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
177     if errorlevel 1 (
178         goto TryRegJRE
179     )
180     del __reg1.txt
181     del __reg2.txt
182 :TryRegJRE
183     rem try getting the JAVA_HOME from registry
184     FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion`) DO (
185        set JAVA_VERSION=%%A
186     )
187     FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%JAVA_VERSION%" /v JavaHome`) DO (
188        set JAVA_HOME=%%A %%B
189     )
190     if not exist "%JAVA_HOME%" (
191        goto TryRegJDK
192         )
193         goto TryJDKEnd
194 :TryRegJDK
195     rem try getting the JAVA_HOME from registry
196     FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit" /v CurrentVersion`) DO (
197        set JAVA_VERSION=%%A
198     )
199     FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit\%JAVA_VERSION%" /v JavaHome`) DO (
200        set JAVA_HOME=%%A %%B
201     )
202     if not exist "%JAVA_HOME%" (
203        call :warn Unable to retrieve JAVA_HOME from Registry
204     )
205         goto TryJDKEnd
206 :TryJDKEnd
207     if not exist "%JAVA_HOME%" (
208         call :warn JAVA_HOME is not valid: "%JAVA_HOME%"
209         goto END
210     )
211     set JAVA=%JAVA_HOME%\bin\java
212 :Check_JAVA_END
213
214 if not exist "%JAVA_HOME%\bin\server\jvm.dll" (
215     if not exist "%JAVA_HOME%\jre\bin\server\jvm.dll" (
216         echo WARNING: Running Karaf on a Java HotSpot Client VM because server-mode is not available.
217         echo Install Java Developer Kit to fix this.
218         echo For more details see http://java.sun.com/products/hotspot/whitepaper.html#client
219         set JAVA_MODE=-client
220     )
221 )
222
223 set DEFAULT_JAVA_OPTS=%JAVA_MODE% -Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM% -Dderby.system.home="%KARAF_DATA%\derby" -Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote  -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass
224
225 if not "%ODL_JAVA_SECURITY_PROPERTIES%" == "" (
226     set DEFAULT_JAVA_OPTS=-Djava.security.properties="%ODL_JAVA_SECURITY_PROPERTIES%" %DEFAULT_JAVA_OPTS%
227 ) else (
228     set DEFAULT_JAVA_OPTS=-Djava.security.properties="%KARAF_ETC%\odl.java.security" %DEFAULT_JAVA_OPTS%
229 )
230
231 if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
232
233 if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END
234     set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS%
235 :KARAF_EXTRA_JAVA_OPTS_END
236
237 if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END
238     if "%1" == "stop" goto :KARAF_DEBUG_END
239     if "%1" == "client" goto :KARAF_DEBUG_END
240     rem Use the defaults if JAVA_DEBUG_OPTS was not set
241     if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
242
243     set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%
244     call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%
245 :KARAF_DEBUG_END
246
247 if "%KARAF_PROFILER%" == "" goto :KARAF_PROFILER_END
248     set KARAF_PROFILER_SCRIPT=%KARAF_HOME%\conf\profiler\%KARAF_PROFILER%.cmd
249
250     if exist "%KARAF_PROFILER_SCRIPT%" goto :KARAF_PROFILER_END
251     call :warn Missing configuration for profiler '%KARAF_PROFILER%': %KARAF_PROFILER_SCRIPT%
252     goto END
253 :KARAF_PROFILER_END
254
255 rem Setup the classpath
256 pushd "%KARAF_HOME%\lib"
257 for %%G in (karaf*.jar) do call:APPEND_TO_CLASSPATH %%G
258 popd
259 goto CLASSPATH_END
260
261 : APPEND_TO_CLASSPATH
262 set filename=%~1
263 set suffix=%filename:~-4%
264 if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%
265 goto :EOF
266
267 :CLASSPATH_END
268
269 rem Execute the JVM or the load the profiler
270 if "%KARAF_PROFILER%" == "" goto :RUN
271     rem Execute the profiler if it has been configured
272     call :warn Loading profiler script: %KARAF_PROFILER_SCRIPT%
273     call %KARAF_PROFILER_SCRIPT%
274
275 :RUN
276     SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true
277     SET MAIN=org.apache.karaf.main.Main
278     SET SHIFT=false
279
280 :RUN_LOOP
281     if "%1" == "stop" goto :EXECUTE_STOP
282     if "%1" == "status" goto :EXECUTE_STATUS
283     if "%1" == "console" goto :EXECUTE_CONSOLE
284     if "%1" == "server" goto :EXECUTE_SERVER
285     if "%1" == "client" goto :EXECUTE_CLIENT
286     if "%1" == "clean" goto :EXECUTE_CLEAN
287     if "%1" == "debug" goto :EXECUTE_DEBUG
288     goto :EXECUTE
289
290 :EXECUTE_STOP
291     SET MAIN=org.apache.karaf.main.Stop
292     shift
293     goto :RUN_LOOP
294
295 :EXECUTE_STATUS
296     SET MAIN=org.apache.karaf.main.Status
297     shift
298     goto :RUN_LOOP
299
300 :EXECUTE_CONSOLE
301     shift
302     goto :RUN_LOOP
303
304 :EXECUTE_SERVER
305     SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true
306     shift
307     goto :RUN_LOOP
308
309 :EXECUTE_CLIENT
310     SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false
311     shift
312     goto :RUN_LOOP
313
314 :EXECUTE_CLEAN
315     rmdir /S /Q "%KARAF_DATA%"
316     shift
317     goto :RUN_LOOP
318
319 :EXECUTE_DEBUG
320     if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
321     set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%
322     shift
323     goto :RUN_LOOP
324
325 :EXECUTE
326     SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
327     rem Execute the Java Virtual Machine
328     cd "%KARAF_BASE%"
329     "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Dkaraf.data="%KARAF_DATA%" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% %MAIN% %ARGS%
330
331 rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
332
333 :END
334
335 endlocal
336
337 if not "%PAUSE%" == "" pause
338
339 :END_NO_PAUSE