You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/06/03 19:27:47 UTC
karaf git commit: Moved karaf scripts away from filtered-resources to
avoid filtering. JAVA_HOME otherwise gets replaced.
Repository: karaf
Updated Branches:
refs/heads/master a32a848b4 -> d50b32a6f
Moved karaf scripts away from filtered-resources to avoid filtering. JAVA_HOME otherwise gets replaced.
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/d50b32a6
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/d50b32a6
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/d50b32a6
Branch: refs/heads/master
Commit: d50b32a6f0af4cee6803ad2dce724548cba3a4b1
Parents: a32a848
Author: Lars Neumann <la...@bisnode.com>
Authored: Wed Jun 3 14:36:53 2015 +0200
Committer: Lars Neumann <la...@bisnode.com>
Committed: Wed Jun 3 14:36:53 2015 +0200
----------------------------------------------------------------------
.../main/filtered-resources/resources/bin/karaf | 426 -------------------
.../filtered-resources/resources/bin/karaf.bat | 341 ---------------
.../base/src/main/resources/resources/bin/karaf | 426 +++++++++++++++++++
.../src/main/resources/resources/bin/karaf.bat | 341 +++++++++++++++
4 files changed, 767 insertions(+), 767 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/d50b32a6/assemblies/features/base/src/main/filtered-resources/resources/bin/karaf
----------------------------------------------------------------------
diff --git a/assemblies/features/base/src/main/filtered-resources/resources/bin/karaf b/assemblies/features/base/src/main/filtered-resources/resources/bin/karaf
deleted file mode 100755
index 3318101..0000000
--- a/assemblies/features/base/src/main/filtered-resources/resources/bin/karaf
+++ /dev/null
@@ -1,426 +0,0 @@
-#!/bin/sh
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-DIRNAME=`dirname "$0"`
-PROGNAME=`basename "$0"`
-
-#
-# Sourcing environment settings for karaf similar to tomcats setenv
-#
-KARAF_SCRIPT="karaf"
-export KARAF_SCRIPT
-if [ -f "$DIRNAME/setenv" ]; then
- . "$DIRNAME/setenv"
-fi
-
-#
-# Set up some easily accessible MIN/MAX params for JVM mem usage
-#
-if [ "x$JAVA_MIN_MEM" = "x" ]; then
- JAVA_MIN_MEM=128M
- export JAVA_MIN_MEM
-fi
-if [ "x$JAVA_MAX_MEM" = "x" ]; then
- JAVA_MAX_MEM=512M
- export JAVA_MAX_MEM
-fi
-
-#
-# Check the mode that initiated the script
-#
-if [ "x$1" != "x" ]; then
- MODE=$1
-fi
-
-warn() {
- echo "${PROGNAME}: $*"
-}
-
-die() {
- warn "$*"
- exit 1
-}
-
-detectOS() {
- # OS specific support (must be 'true' or 'false').
- cygwin=false;
- darwin=false;
- aix=false;
- os400=false;
- case "`uname`" in
- CYGWIN*)
- cygwin=true
- ;;
- Darwin*)
- darwin=true
- ;;
- AIX*)
- aix=true
- ;;
- OS400*)
- os400=true
- ;;
- esac
- # For AIX, set an environment variable
- if $aix; then
- export LDR_CNTRL=MAXDATA=0xB0000000@DSA
- echo $LDR_CNTRL
- fi
-}
-
-unlimitFD() {
- # Use the maximum available, or set MAX_FD != -1 to use that
- if [ "x$MAX_FD" = "x" ]; then
- MAX_FD="maximum"
- fi
-
- # Increase the maximum file descriptors if we can
- if [ "$os400" = "false" ] && [ "$cygwin" = "false" ]; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ "$MAX_FD_LIMIT" != 'unlimited' ]; then
- if [ $? -eq 0 ]; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
- # use the system max
- MAX_FD="$MAX_FD_LIMIT"
- fi
-
- ulimit -n $MAX_FD > /dev/null
- # echo "ulimit -n" `ulimit -n`
- if [ $? -ne 0 ]; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
- fi
- fi
-}
-
-locateHome() {
- if [ "x$KARAF_HOME" = "x" ]; then
- # In POSIX shells, CDPATH may cause cd to write to stdout
- (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
- # KARAF_HOME is not provided, fall back to default
- KARAF_HOME=`cd "$DIRNAME/.."; pwd`
- fi
-
- if [ ! -d "$KARAF_HOME" ]; then
- die "KARAF_HOME is not valid: $KARAF_HOME"
- fi
-}
-
-locateBase() {
- if [ "x$KARAF_BASE" != "x" ]; then
- if [ ! -d "$KARAF_BASE" ]; then
- die "KARAF_BASE is not valid: $KARAF_BASE"
- fi
- else
- KARAF_BASE=$KARAF_HOME
- fi
-}
-
-locateData() {
- if [ "x$KARAF_DATA" != "x" ]; then
- if [ ! -d "$KARAF_DATA" ]; then
- die "KARAF_DATA is not valid: $KARAF_DATA"
- fi
- else
- KARAF_DATA=$KARAF_BASE/data
- fi
-}
-
-locateEtc() {
- if [ "x$KARAF_ETC" != "x" ]; then
- if [ ! -d "$KARAF_ETC" ]; then
- die "KARAF_ETC is not valid: $KARAF_ETC"
- fi
- else
- KARAF_ETC=$KARAF_BASE/etc
- fi
-}
-
-setupNativePath() {
- # Support for loading native libraries
- LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$KARAF_BASE/lib:$KARAF_HOME/lib"
-
- # For Cygwin, set PATH from LD_LIBRARY_PATH
- if $cygwin; then
- LD_LIBRARY_PATH=`cygpath --path --windows "$LD_LIBRARY_PATH"`
- PATH="$PATH;$LD_LIBRARY_PATH"
- export PATH
- fi
- export LD_LIBRARY_PATH
-}
-
-pathCanonical() {
- local dst="${1}"
- while [ -h "${dst}" ] ; do
- ls=`ls -ld "${dst}"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- dst="$link"
- else
- dst="`dirname "${dst}"`/$link"
- fi
- done
- local bas=`basename "${dst}"`
- local dir=`dirname "${dst}"`
- if [ "$bas" != "$dir" ]; then
- dst="`pathCanonical "$dir"`/$bas"
- fi
- echo "${dst}" | sed -e 's#//#/#g' -e 's#/./#/#g' -e 's#/[^/]*/../#/#g'
-}
-
-locateJava() {
- # Setup the Java Virtual Machine
- if $cygwin ; then
- [ -n "$JAVA" ] && JAVA=`cygpath --unix "$JAVA"`
- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
- fi
-
- if [ "x$JAVA_HOME" = "x" ] && [ "$darwin" = "true" ]; then
- JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
- fi
- if [ "x$JAVA" = "x" ] && [ -r /etc/gentoo-release ] ; then
- JAVA_HOME=`java-config --jre-home`
- fi
- if [ "x$JAVA" = "x" ]; then
- if [ "x$JAVA_HOME" != "x" ]; then
- if [ ! -d "$JAVA_HOME" ]; then
- die "JAVA_HOME is not valid: $JAVA_HOME"
- fi
- JAVA="$JAVA_HOME/bin/java"
- else
- warn "JAVA_HOME not set; results may vary"
- JAVA=`type java`
- JAVA=`expr "$JAVA" : '.* \(/.*\)$'`
- if [ "x$JAVA" = "x" ]; then
- die "java command not found"
- fi
- fi
- fi
- if [ "x$JAVA_HOME" = "x" ]; then
- JAVA_HOME="$(dirname $(dirname $(pathCanonical "$JAVA")))"
- fi
-}
-
-detectJVM() {
- #echo "`$JAVA -version`"
- # This service should call `java -version`,
- # read stdout, and look for hints
- if $JAVA -version 2>&1 | grep "^IBM" ; then
- JVM_VENDOR="IBM"
- # on OS/400, java -version does not contain IBM explicitly
- elif $os400; then
- JVM_VENDOR="IBM"
- else
- JVM_VENDOR="SUN"
- fi
- # echo "JVM vendor is $JVM_VENDOR"
-}
-
-checkJvmVersion() {
- # echo "`$JAVA -version`"
- VERSION=`$JAVA -version 2>&1 | egrep '"([0-9].[0-9]\..*[0-9]).*"' | awk '{print substr($3,2,length($3)-2)}' | awk '{print substr($1, 3, 3)}' | sed -e 's;\.;;g'`
- # echo $VERSION
- if [ "$VERSION" -lt "60" ]; then
- echo "JVM must be greater than 1.6"
- exit 1;
- fi
-}
-
-setupDebugOptions() {
- if [ "x$JAVA_OPTS" = "x" ]; then
- JAVA_OPTS="$DEFAULT_JAVA_OPTS"
- fi
- export JAVA_OPTS
-
- if [ "x$EXTRA_JAVA_OPTS" != "x" ]; then
- JAVA_OPTS="$JAVA_OPTS $EXTRA_JAVA_OPTS"
- fi
-
- # Set Debug options if enabled
- if [ "x$KARAF_DEBUG" != "x" ]; then
- # Ignore DEBUG in case of stop or client mode
- if [ "x$MODE" = "xstop" ]; then
- return
- fi
- if [ "x$MODE" = "xclient" ]; then
- return
- fi
- # Use the defaults if JAVA_DEBUG_OPTS was not set
- if [ "x$JAVA_DEBUG_OPTS" = "x" ]; then
- JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
- fi
-
- JAVA_OPTS="$JAVA_DEBUG_OPTS $JAVA_OPTS"
- warn "Enabling Java debug options: $JAVA_DEBUG_OPTS"
- fi
-}
-
-setupDefaults() {
- DEFAULT_JAVA_OPTS="-Xms$JAVA_MIN_MEM -Xmx$JAVA_MAX_MEM -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass "
-
- #Set the JVM_VENDOR specific JVM flags
- if [ "$JVM_VENDOR" = "SUN" ]; then
- #
- # Check some easily accessible MIN/MAX params for JVM mem usage
- #
- if [ "x$JAVA_PERM_MEM" != "x" ]; then
- DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:PermSize=$JAVA_PERM_MEM"
- fi
- if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
- DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
- fi
- DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS -Dcom.sun.management.jmxremote"
- elif [ "$JVM_VENDOR" = "IBM" ]; then
- if $os400; then
- DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS"
- elif $aix; then
- DEFAULT_JAVA_OPTS="-Xverify:none -Xdump:heap -Xlp $DEFAULT_JAVA_OPTS"
- else
- DEFAULT_JAVA_OPTS="-Xverify:none $DEFAULT_JAVA_OPTS"
- fi
- fi
-
- # Add the jars in the lib dir
- for file in "$KARAF_HOME"/lib/boot/*.jar
- do
- if [ -z "$CLASSPATH" ]; then
- CLASSPATH="$file"
- else
- CLASSPATH="$CLASSPATH:$file"
- fi
- done
-
- DEFAULT_JAVA_DEBUG_PORT="5005"
- if [ "x$JAVA_DEBUG_PORT" = "x" ]; then
- JAVA_DEBUG_PORT="$DEFAULT_JAVA_DEBUG_PORT"
- fi
- DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$JAVA_DEBUG_PORT"
-
- ##
- ## TODO: Move to conf/profiler/yourkit.{sh|cmd}
- ##
- # Uncomment to enable YourKit profiling
- #DEFAULT_JAVA_DEBUG_OPTS="-Xrunyjpagent"
-}
-
-init() {
- # Determine if there is special OS handling we must perform
- detectOS
-
- # Unlimit the number of file descriptors if possible
- unlimitFD
-
- # Locate the Karaf home directory
- locateHome
-
- # Locate the Karaf base directory
- locateBase
-
- # Locate the Karaf data directory
- locateData
-
- # Locate the Karaf etc directory
- locateEtc
-
- # Setup the native library path
- setupNativePath
-
- # Locate the Java VM to execute
- locateJava
-
- # Determine the JVM vendor
- detectJVM
-
- # Determine the JVM version >= 1.6
- checkJvmVersion
-
- # Setup default options
- setupDefaults
-
- # Install debug options
- setupDebugOptions
-
-}
-
-run() {
- OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true"
- MAIN=org.apache.karaf.main.Main
- while [ "$1" != "" ]; do
- case $1 in
- 'clean')
- rm -Rf "$KARAF_DATA"
- shift
- ;;
- 'debug')
- if [ "x$JAVA_DEBUG_OPTS" = "x" ]; then
- JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
- fi
- JAVA_OPTS="$JAVA_DEBUG_OPTS $JAVA_OPTS"
- shift
- ;;
- 'status')
- MAIN=org.apache.karaf.main.Status
- shift
- ;;
- 'stop')
- MAIN=org.apache.karaf.main.Stop
- shift
- ;;
- 'console')
- shift
- ;;
- 'server')
- OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true"
- shift
- ;;
- 'client')
- OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false"
- shift
- ;;
- *)
- break
- ;;
- esac
- done
-
- JAVA_ENDORSED_DIRS="${JAVA_HOME}/jre/lib/endorsed:${JAVA_HOME}/lib/endorsed:${KARAF_HOME}/lib/endorsed"
- JAVA_EXT_DIRS="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${KARAF_HOME}/lib/ext"
- if $cygwin; then
- KARAF_HOME=`cygpath --path --windows "$KARAF_HOME"`
- KARAF_BASE=`cygpath --path --windows "$KARAF_BASE"`
- KARAF_DATA=`cygpath --path --windows "$KARAF_DATA"`
- KARAF_ETC=`cygpath --path --windows "$KARAF_ETC"`
- CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
- JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
- JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
- JAVA_EXT_DIRS=`cygpath --path --windows "$JAVA_EXT_DIRS"`
- fi
- cd "$KARAF_BASE"
-
- exec "$JAVA" $JAVA_OPTS -Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" -Djava.ext.dirs="${JAVA_EXT_DIRS}" -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.data="$KARAF_DATA" -Dkaraf.etc="$KARAF_ETC" -Djava.io.tmpdir="$KARAF_DATA/tmp" -Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" $KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN "$@"
-}
-
-main() {
- init
- run "$@"
-}
-
-main "$@"
http://git-wip-us.apache.org/repos/asf/karaf/blob/d50b32a6/assemblies/features/base/src/main/filtered-resources/resources/bin/karaf.bat
----------------------------------------------------------------------
diff --git a/assemblies/features/base/src/main/filtered-resources/resources/bin/karaf.bat b/assemblies/features/base/src/main/filtered-resources/resources/bin/karaf.bat
deleted file mode 100644
index 3645594..0000000
--- a/assemblies/features/base/src/main/filtered-resources/resources/bin/karaf.bat
+++ /dev/null
@@ -1,341 +0,0 @@
-@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
-
-if not "%ECHO%" == "" echo %ECHO%
-
-setlocal
-set DIRNAME=%~dp0%
-set PROGNAME=%~nx0%
-set ARGS=%*
-
-rem Sourcing environment settings for karaf similar to tomcats setenv
-SET KARAF_SCRIPT="karaf.bat"
-if exist "%DIRNAME%setenv.bat" (
- call "%DIRNAME%setenv.bat"
-)
-
-rem Check console window title. Set to Karaf by default
-if not "%KARAF_TITLE%" == "" (
- title %KARAF_TITLE%
-) else (
- title Karaf
-)
-
-rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage
-if "%JAVA_MIN_MEM%" == "" (
- set JAVA_MIN_MEM=128M
-)
-if "%JAVA_MAX_MEM%" == "" (
- set JAVA_MAX_MEM=512M
-)
-
-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%"
-)
-
-if not "%KARAF_DATA%" == "" (
- if not exist "%KARAF_DATA%" (
- call :warn KARAF_DATA is not valid: "%KARAF_DATA%"
- goto END
- )
-)
-if "%KARAF_DATA%" == "" (
- set "KARAF_DATA=%KARAF_BASE%\data"
-)
-
-if not "%KARAF_ETC%" == "" (
- if not exist "%KARAF_ETC%" (
- call :warn KARAF_ETC is not valid: "%KARAF_ETC%"
- goto END
- )
-)
-if "%KARAF_ETC%" == "" (
- set "KARAF_ETC=%KARAF_BASE%\etc"
-)
-
-set LOCAL_CLASSPATH=%CLASSPATH%
-set JAVA_MODE=-server
-
-set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
-set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=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
- if not "%JAVA_HOME%" == "" goto :TryJDKEnd
- call :warn JAVA_HOME not set; results may vary
-:TryJRE
- start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
- if not exist __reg1.txt goto :TryJDK
- type __reg1.txt | find "CurrentVersion" > __reg2.txt
- if errorlevel 1 goto :TryJDK
- for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
- if errorlevel 1 goto :TryJDK
- set JavaTemp=%JavaTemp%##
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp:##=%
- del __reg1.txt
- del __reg2.txt
- start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%JavaTemp%"
- if not exist __reg1.txt goto :TryJDK
- type __reg1.txt | find "JavaHome" > __reg2.txt
- if errorlevel 1 goto :TryJDK
- for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
- if errorlevel 1 goto :TryJDK
- del __reg1.txt
- del __reg2.txt
- goto TryJDKEnd
-:TryJDK
- start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
- if not exist __reg1.txt (
- goto TryRegJRE
- )
- type __reg1.txt | find "CurrentVersion" > __reg2.txt
- if errorlevel 1 (
- goto TryRegJRE
- )
- for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
- if errorlevel 1 (
- goto TryRegJRE
- )
- set JavaTemp=%JavaTemp%##
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp: ##=##%
- set JavaTemp=%JavaTemp:##=%
- del __reg1.txt
- del __reg2.txt
- start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"
- if not exist __reg1.txt (
- goto TryRegJRE
- )
- type __reg1.txt | find "JavaHome" > __reg2.txt
- if errorlevel 1 (
- goto TryRegJRE
- )
- for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
- if errorlevel 1 (
- goto TryRegJRE
- )
- del __reg1.txt
- del __reg2.txt
-:TryRegJRE
- rem try getting the JAVA_HOME from registry
- FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion`) DO (
- set JAVA_VERSION=%%A
- )
- FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%JAVA_VERSION%" /v JavaHome`) DO (
- set JAVA_HOME=%%A %%B
- )
- if not exist "%JAVA_HOME%" (
- goto TryRegJDK
- )
- goto TryJDKEnd
-:TryRegJDK
- rem try getting the JAVA_HOME from registry
- FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit" /v CurrentVersion`) DO (
- set JAVA_VERSION=%%A
- )
- FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit\%JAVA_VERSION%" /v JavaHome`) DO (
- set JAVA_HOME=%%A %%B
- )
- if not exist "%JAVA_HOME%" (
- call :warn Unable to retrieve JAVA_HOME from Registry
- )
- goto TryJDKEnd
-:TryJDKEnd
- if not exist "%JAVA_HOME%" (
- call :warn JAVA_HOME is not valid: "%JAVA_HOME%"
- goto END
- )
- set JAVA=%JAVA_HOME%\bin\java
-:Check_JAVA_END
-
-if not exist "%JAVA_HOME%\bin\server\jvm.dll" (
- if not exist "%JAVA_HOME%\jre\bin\server\jvm.dll" (
- echo WARNING: Running Karaf on a Java HotSpot Client VM because server-mode is not available.
- echo Install Java Developer Kit to fix this.
- echo For more details see http://java.sun.com/products/hotspot/whitepaper.html#client
- set JAVA_MODE=-client
- )
-)
-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
-
-rem Check some easily accessible MIN/MAX params for JVM mem usage
-if not "%JAVA_PERM_MEM%" == "" (
- set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:PermSize=%JAVA_PERM_MEM%
-)
-if not "%JAVA_MAX_PERM_MEM%" == "" (
- set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:MaxPermSize=%JAVA_MAX_PERM_MEM%
-)
-
-if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
-
-if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END
- set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS%
-:KARAF_EXTRA_JAVA_OPTS_END
-
-if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END
- if "%1" == "stop" goto :KARAF_DEBUG_END
- if "%1" == "client" 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\boot"
-for %%G in (*.jar) 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\boot\%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 MAIN=org.apache.karaf.main.Main
- SET SHIFT=false
-
-:RUN_LOOP
- if "%1" == "stop" goto :EXECUTE_STOP
- if "%1" == "status" goto :EXECUTE_STATUS
- if "%1" == "console" goto :EXECUTE_CONSOLE
- if "%1" == "server" goto :EXECUTE_SERVER
- if "%1" == "client" goto :EXECUTE_CLIENT
- if "%1" == "clean" goto :EXECUTE_CLEAN
- if "%1" == "debug" goto :EXECUTE_DEBUG
- goto :EXECUTE
-
-:EXECUTE_STOP
- SET MAIN=org.apache.karaf.main.Stop
- shift
- goto :RUN_LOOP
-
-:EXECUTE_STATUS
- SET MAIN=org.apache.karaf.main.Status
- shift
- goto :RUN_LOOP
-
-:EXECUTE_CONSOLE
- shift
- goto :RUN_LOOP
-
-:EXECUTE_SERVER
- SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true
- shift
- goto :RUN_LOOP
-
-:EXECUTE_CLIENT
- SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false
- shift
- goto :RUN_LOOP
-
-:EXECUTE_CLEAN
- rmdir /S /Q "%KARAF_DATA%"
- shift
- goto :RUN_LOOP
-
-:EXECUTE_DEBUG
- if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
- set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%
- shift
- goto :RUN_LOOP
-
-:EXECUTE
- SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
- rem Execute the Java Virtual Machine
- cd "%KARAF_BASE%"
- "%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%
-
-rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-
-:END
-
-endlocal
-
-if not "%PAUSE%" == "" pause
-
-:END_NO_PAUSE
-
http://git-wip-us.apache.org/repos/asf/karaf/blob/d50b32a6/assemblies/features/base/src/main/resources/resources/bin/karaf
----------------------------------------------------------------------
diff --git a/assemblies/features/base/src/main/resources/resources/bin/karaf b/assemblies/features/base/src/main/resources/resources/bin/karaf
new file mode 100755
index 0000000..3318101
--- /dev/null
+++ b/assemblies/features/base/src/main/resources/resources/bin/karaf
@@ -0,0 +1,426 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+DIRNAME=`dirname "$0"`
+PROGNAME=`basename "$0"`
+
+#
+# Sourcing environment settings for karaf similar to tomcats setenv
+#
+KARAF_SCRIPT="karaf"
+export KARAF_SCRIPT
+if [ -f "$DIRNAME/setenv" ]; then
+ . "$DIRNAME/setenv"
+fi
+
+#
+# Set up some easily accessible MIN/MAX params for JVM mem usage
+#
+if [ "x$JAVA_MIN_MEM" = "x" ]; then
+ JAVA_MIN_MEM=128M
+ export JAVA_MIN_MEM
+fi
+if [ "x$JAVA_MAX_MEM" = "x" ]; then
+ JAVA_MAX_MEM=512M
+ export JAVA_MAX_MEM
+fi
+
+#
+# Check the mode that initiated the script
+#
+if [ "x$1" != "x" ]; then
+ MODE=$1
+fi
+
+warn() {
+ echo "${PROGNAME}: $*"
+}
+
+die() {
+ warn "$*"
+ exit 1
+}
+
+detectOS() {
+ # OS specific support (must be 'true' or 'false').
+ cygwin=false;
+ darwin=false;
+ aix=false;
+ os400=false;
+ case "`uname`" in
+ CYGWIN*)
+ cygwin=true
+ ;;
+ Darwin*)
+ darwin=true
+ ;;
+ AIX*)
+ aix=true
+ ;;
+ OS400*)
+ os400=true
+ ;;
+ esac
+ # For AIX, set an environment variable
+ if $aix; then
+ export LDR_CNTRL=MAXDATA=0xB0000000@DSA
+ echo $LDR_CNTRL
+ fi
+}
+
+unlimitFD() {
+ # Use the maximum available, or set MAX_FD != -1 to use that
+ if [ "x$MAX_FD" = "x" ]; then
+ MAX_FD="maximum"
+ fi
+
+ # Increase the maximum file descriptors if we can
+ if [ "$os400" = "false" ] && [ "$cygwin" = "false" ]; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ "$MAX_FD_LIMIT" != 'unlimited' ]; then
+ if [ $? -eq 0 ]; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
+ # use the system max
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+
+ ulimit -n $MAX_FD > /dev/null
+ # echo "ulimit -n" `ulimit -n`
+ if [ $? -ne 0 ]; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+ fi
+ fi
+}
+
+locateHome() {
+ if [ "x$KARAF_HOME" = "x" ]; then
+ # In POSIX shells, CDPATH may cause cd to write to stdout
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+ # KARAF_HOME is not provided, fall back to default
+ KARAF_HOME=`cd "$DIRNAME/.."; pwd`
+ fi
+
+ if [ ! -d "$KARAF_HOME" ]; then
+ die "KARAF_HOME is not valid: $KARAF_HOME"
+ fi
+}
+
+locateBase() {
+ if [ "x$KARAF_BASE" != "x" ]; then
+ if [ ! -d "$KARAF_BASE" ]; then
+ die "KARAF_BASE is not valid: $KARAF_BASE"
+ fi
+ else
+ KARAF_BASE=$KARAF_HOME
+ fi
+}
+
+locateData() {
+ if [ "x$KARAF_DATA" != "x" ]; then
+ if [ ! -d "$KARAF_DATA" ]; then
+ die "KARAF_DATA is not valid: $KARAF_DATA"
+ fi
+ else
+ KARAF_DATA=$KARAF_BASE/data
+ fi
+}
+
+locateEtc() {
+ if [ "x$KARAF_ETC" != "x" ]; then
+ if [ ! -d "$KARAF_ETC" ]; then
+ die "KARAF_ETC is not valid: $KARAF_ETC"
+ fi
+ else
+ KARAF_ETC=$KARAF_BASE/etc
+ fi
+}
+
+setupNativePath() {
+ # Support for loading native libraries
+ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$KARAF_BASE/lib:$KARAF_HOME/lib"
+
+ # For Cygwin, set PATH from LD_LIBRARY_PATH
+ if $cygwin; then
+ LD_LIBRARY_PATH=`cygpath --path --windows "$LD_LIBRARY_PATH"`
+ PATH="$PATH;$LD_LIBRARY_PATH"
+ export PATH
+ fi
+ export LD_LIBRARY_PATH
+}
+
+pathCanonical() {
+ local dst="${1}"
+ while [ -h "${dst}" ] ; do
+ ls=`ls -ld "${dst}"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ dst="$link"
+ else
+ dst="`dirname "${dst}"`/$link"
+ fi
+ done
+ local bas=`basename "${dst}"`
+ local dir=`dirname "${dst}"`
+ if [ "$bas" != "$dir" ]; then
+ dst="`pathCanonical "$dir"`/$bas"
+ fi
+ echo "${dst}" | sed -e 's#//#/#g' -e 's#/./#/#g' -e 's#/[^/]*/../#/#g'
+}
+
+locateJava() {
+ # Setup the Java Virtual Machine
+ if $cygwin ; then
+ [ -n "$JAVA" ] && JAVA=`cygpath --unix "$JAVA"`
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ fi
+
+ if [ "x$JAVA_HOME" = "x" ] && [ "$darwin" = "true" ]; then
+ JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
+ fi
+ if [ "x$JAVA" = "x" ] && [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+ if [ "x$JAVA" = "x" ]; then
+ if [ "x$JAVA_HOME" != "x" ]; then
+ if [ ! -d "$JAVA_HOME" ]; then
+ die "JAVA_HOME is not valid: $JAVA_HOME"
+ fi
+ JAVA="$JAVA_HOME/bin/java"
+ else
+ warn "JAVA_HOME not set; results may vary"
+ JAVA=`type java`
+ JAVA=`expr "$JAVA" : '.* \(/.*\)$'`
+ if [ "x$JAVA" = "x" ]; then
+ die "java command not found"
+ fi
+ fi
+ fi
+ if [ "x$JAVA_HOME" = "x" ]; then
+ JAVA_HOME="$(dirname $(dirname $(pathCanonical "$JAVA")))"
+ fi
+}
+
+detectJVM() {
+ #echo "`$JAVA -version`"
+ # This service should call `java -version`,
+ # read stdout, and look for hints
+ if $JAVA -version 2>&1 | grep "^IBM" ; then
+ JVM_VENDOR="IBM"
+ # on OS/400, java -version does not contain IBM explicitly
+ elif $os400; then
+ JVM_VENDOR="IBM"
+ else
+ JVM_VENDOR="SUN"
+ fi
+ # echo "JVM vendor is $JVM_VENDOR"
+}
+
+checkJvmVersion() {
+ # echo "`$JAVA -version`"
+ VERSION=`$JAVA -version 2>&1 | egrep '"([0-9].[0-9]\..*[0-9]).*"' | awk '{print substr($3,2,length($3)-2)}' | awk '{print substr($1, 3, 3)}' | sed -e 's;\.;;g'`
+ # echo $VERSION
+ if [ "$VERSION" -lt "60" ]; then
+ echo "JVM must be greater than 1.6"
+ exit 1;
+ fi
+}
+
+setupDebugOptions() {
+ if [ "x$JAVA_OPTS" = "x" ]; then
+ JAVA_OPTS="$DEFAULT_JAVA_OPTS"
+ fi
+ export JAVA_OPTS
+
+ if [ "x$EXTRA_JAVA_OPTS" != "x" ]; then
+ JAVA_OPTS="$JAVA_OPTS $EXTRA_JAVA_OPTS"
+ fi
+
+ # Set Debug options if enabled
+ if [ "x$KARAF_DEBUG" != "x" ]; then
+ # Ignore DEBUG in case of stop or client mode
+ if [ "x$MODE" = "xstop" ]; then
+ return
+ fi
+ if [ "x$MODE" = "xclient" ]; then
+ return
+ fi
+ # Use the defaults if JAVA_DEBUG_OPTS was not set
+ if [ "x$JAVA_DEBUG_OPTS" = "x" ]; then
+ JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
+ fi
+
+ JAVA_OPTS="$JAVA_DEBUG_OPTS $JAVA_OPTS"
+ warn "Enabling Java debug options: $JAVA_DEBUG_OPTS"
+ fi
+}
+
+setupDefaults() {
+ DEFAULT_JAVA_OPTS="-Xms$JAVA_MIN_MEM -Xmx$JAVA_MAX_MEM -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass "
+
+ #Set the JVM_VENDOR specific JVM flags
+ if [ "$JVM_VENDOR" = "SUN" ]; then
+ #
+ # Check some easily accessible MIN/MAX params for JVM mem usage
+ #
+ if [ "x$JAVA_PERM_MEM" != "x" ]; then
+ DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:PermSize=$JAVA_PERM_MEM"
+ fi
+ if [ "x$JAVA_MAX_PERM_MEM" != "x" ]; then
+ DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS -XX:MaxPermSize=$JAVA_MAX_PERM_MEM"
+ fi
+ DEFAULT_JAVA_OPTS="-server $DEFAULT_JAVA_OPTS -Dcom.sun.management.jmxremote"
+ elif [ "$JVM_VENDOR" = "IBM" ]; then
+ if $os400; then
+ DEFAULT_JAVA_OPTS="$DEFAULT_JAVA_OPTS"
+ elif $aix; then
+ DEFAULT_JAVA_OPTS="-Xverify:none -Xdump:heap -Xlp $DEFAULT_JAVA_OPTS"
+ else
+ DEFAULT_JAVA_OPTS="-Xverify:none $DEFAULT_JAVA_OPTS"
+ fi
+ fi
+
+ # Add the jars in the lib dir
+ for file in "$KARAF_HOME"/lib/boot/*.jar
+ do
+ if [ -z "$CLASSPATH" ]; then
+ CLASSPATH="$file"
+ else
+ CLASSPATH="$CLASSPATH:$file"
+ fi
+ done
+
+ DEFAULT_JAVA_DEBUG_PORT="5005"
+ if [ "x$JAVA_DEBUG_PORT" = "x" ]; then
+ JAVA_DEBUG_PORT="$DEFAULT_JAVA_DEBUG_PORT"
+ fi
+ DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$JAVA_DEBUG_PORT"
+
+ ##
+ ## TODO: Move to conf/profiler/yourkit.{sh|cmd}
+ ##
+ # Uncomment to enable YourKit profiling
+ #DEFAULT_JAVA_DEBUG_OPTS="-Xrunyjpagent"
+}
+
+init() {
+ # Determine if there is special OS handling we must perform
+ detectOS
+
+ # Unlimit the number of file descriptors if possible
+ unlimitFD
+
+ # Locate the Karaf home directory
+ locateHome
+
+ # Locate the Karaf base directory
+ locateBase
+
+ # Locate the Karaf data directory
+ locateData
+
+ # Locate the Karaf etc directory
+ locateEtc
+
+ # Setup the native library path
+ setupNativePath
+
+ # Locate the Java VM to execute
+ locateJava
+
+ # Determine the JVM vendor
+ detectJVM
+
+ # Determine the JVM version >= 1.6
+ checkJvmVersion
+
+ # Setup default options
+ setupDefaults
+
+ # Install debug options
+ setupDebugOptions
+
+}
+
+run() {
+ OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true"
+ MAIN=org.apache.karaf.main.Main
+ while [ "$1" != "" ]; do
+ case $1 in
+ 'clean')
+ rm -Rf "$KARAF_DATA"
+ shift
+ ;;
+ 'debug')
+ if [ "x$JAVA_DEBUG_OPTS" = "x" ]; then
+ JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
+ fi
+ JAVA_OPTS="$JAVA_DEBUG_OPTS $JAVA_OPTS"
+ shift
+ ;;
+ 'status')
+ MAIN=org.apache.karaf.main.Status
+ shift
+ ;;
+ 'stop')
+ MAIN=org.apache.karaf.main.Stop
+ shift
+ ;;
+ 'console')
+ shift
+ ;;
+ 'server')
+ OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true"
+ shift
+ ;;
+ 'client')
+ OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false"
+ shift
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
+
+ JAVA_ENDORSED_DIRS="${JAVA_HOME}/jre/lib/endorsed:${JAVA_HOME}/lib/endorsed:${KARAF_HOME}/lib/endorsed"
+ JAVA_EXT_DIRS="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${KARAF_HOME}/lib/ext"
+ if $cygwin; then
+ KARAF_HOME=`cygpath --path --windows "$KARAF_HOME"`
+ KARAF_BASE=`cygpath --path --windows "$KARAF_BASE"`
+ KARAF_DATA=`cygpath --path --windows "$KARAF_DATA"`
+ KARAF_ETC=`cygpath --path --windows "$KARAF_ETC"`
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
+ JAVA_EXT_DIRS=`cygpath --path --windows "$JAVA_EXT_DIRS"`
+ fi
+ cd "$KARAF_BASE"
+
+ exec "$JAVA" $JAVA_OPTS -Djava.endorsed.dirs="${JAVA_ENDORSED_DIRS}" -Djava.ext.dirs="${JAVA_EXT_DIRS}" -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.data="$KARAF_DATA" -Dkaraf.etc="$KARAF_ETC" -Djava.io.tmpdir="$KARAF_DATA/tmp" -Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" $KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN "$@"
+}
+
+main() {
+ init
+ run "$@"
+}
+
+main "$@"
http://git-wip-us.apache.org/repos/asf/karaf/blob/d50b32a6/assemblies/features/base/src/main/resources/resources/bin/karaf.bat
----------------------------------------------------------------------
diff --git a/assemblies/features/base/src/main/resources/resources/bin/karaf.bat b/assemblies/features/base/src/main/resources/resources/bin/karaf.bat
new file mode 100644
index 0000000..3645594
--- /dev/null
+++ b/assemblies/features/base/src/main/resources/resources/bin/karaf.bat
@@ -0,0 +1,341 @@
+@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
+
+if not "%ECHO%" == "" echo %ECHO%
+
+setlocal
+set DIRNAME=%~dp0%
+set PROGNAME=%~nx0%
+set ARGS=%*
+
+rem Sourcing environment settings for karaf similar to tomcats setenv
+SET KARAF_SCRIPT="karaf.bat"
+if exist "%DIRNAME%setenv.bat" (
+ call "%DIRNAME%setenv.bat"
+)
+
+rem Check console window title. Set to Karaf by default
+if not "%KARAF_TITLE%" == "" (
+ title %KARAF_TITLE%
+) else (
+ title Karaf
+)
+
+rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage
+if "%JAVA_MIN_MEM%" == "" (
+ set JAVA_MIN_MEM=128M
+)
+if "%JAVA_MAX_MEM%" == "" (
+ set JAVA_MAX_MEM=512M
+)
+
+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%"
+)
+
+if not "%KARAF_DATA%" == "" (
+ if not exist "%KARAF_DATA%" (
+ call :warn KARAF_DATA is not valid: "%KARAF_DATA%"
+ goto END
+ )
+)
+if "%KARAF_DATA%" == "" (
+ set "KARAF_DATA=%KARAF_BASE%\data"
+)
+
+if not "%KARAF_ETC%" == "" (
+ if not exist "%KARAF_ETC%" (
+ call :warn KARAF_ETC is not valid: "%KARAF_ETC%"
+ goto END
+ )
+)
+if "%KARAF_ETC%" == "" (
+ set "KARAF_ETC=%KARAF_BASE%\etc"
+)
+
+set LOCAL_CLASSPATH=%CLASSPATH%
+set JAVA_MODE=-server
+
+set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
+set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=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
+ if not "%JAVA_HOME%" == "" goto :TryJDKEnd
+ call :warn JAVA_HOME not set; results may vary
+:TryJRE
+ start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
+ if not exist __reg1.txt goto :TryJDK
+ type __reg1.txt | find "CurrentVersion" > __reg2.txt
+ if errorlevel 1 goto :TryJDK
+ for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
+ if errorlevel 1 goto :TryJDK
+ set JavaTemp=%JavaTemp%##
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp:##=%
+ del __reg1.txt
+ del __reg2.txt
+ start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%JavaTemp%"
+ if not exist __reg1.txt goto :TryJDK
+ type __reg1.txt | find "JavaHome" > __reg2.txt
+ if errorlevel 1 goto :TryJDK
+ for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
+ if errorlevel 1 goto :TryJDK
+ del __reg1.txt
+ del __reg2.txt
+ goto TryJDKEnd
+:TryJDK
+ start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
+ if not exist __reg1.txt (
+ goto TryRegJRE
+ )
+ type __reg1.txt | find "CurrentVersion" > __reg2.txt
+ if errorlevel 1 (
+ goto TryRegJRE
+ )
+ for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
+ if errorlevel 1 (
+ goto TryRegJRE
+ )
+ set JavaTemp=%JavaTemp%##
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp: ##=##%
+ set JavaTemp=%JavaTemp:##=%
+ del __reg1.txt
+ del __reg2.txt
+ start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"
+ if not exist __reg1.txt (
+ goto TryRegJRE
+ )
+ type __reg1.txt | find "JavaHome" > __reg2.txt
+ if errorlevel 1 (
+ goto TryRegJRE
+ )
+ for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
+ if errorlevel 1 (
+ goto TryRegJRE
+ )
+ del __reg1.txt
+ del __reg2.txt
+:TryRegJRE
+ rem try getting the JAVA_HOME from registry
+ FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion`) DO (
+ set JAVA_VERSION=%%A
+ )
+ FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%JAVA_VERSION%" /v JavaHome`) DO (
+ set JAVA_HOME=%%A %%B
+ )
+ if not exist "%JAVA_HOME%" (
+ goto TryRegJDK
+ )
+ goto TryJDKEnd
+:TryRegJDK
+ rem try getting the JAVA_HOME from registry
+ FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit" /v CurrentVersion`) DO (
+ set JAVA_VERSION=%%A
+ )
+ FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit\%JAVA_VERSION%" /v JavaHome`) DO (
+ set JAVA_HOME=%%A %%B
+ )
+ if not exist "%JAVA_HOME%" (
+ call :warn Unable to retrieve JAVA_HOME from Registry
+ )
+ goto TryJDKEnd
+:TryJDKEnd
+ if not exist "%JAVA_HOME%" (
+ call :warn JAVA_HOME is not valid: "%JAVA_HOME%"
+ goto END
+ )
+ set JAVA=%JAVA_HOME%\bin\java
+:Check_JAVA_END
+
+if not exist "%JAVA_HOME%\bin\server\jvm.dll" (
+ if not exist "%JAVA_HOME%\jre\bin\server\jvm.dll" (
+ echo WARNING: Running Karaf on a Java HotSpot Client VM because server-mode is not available.
+ echo Install Java Developer Kit to fix this.
+ echo For more details see http://java.sun.com/products/hotspot/whitepaper.html#client
+ set JAVA_MODE=-client
+ )
+)
+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
+
+rem Check some easily accessible MIN/MAX params for JVM mem usage
+if not "%JAVA_PERM_MEM%" == "" (
+ set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:PermSize=%JAVA_PERM_MEM%
+)
+if not "%JAVA_MAX_PERM_MEM%" == "" (
+ set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:MaxPermSize=%JAVA_MAX_PERM_MEM%
+)
+
+if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
+
+if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END
+ set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS%
+:KARAF_EXTRA_JAVA_OPTS_END
+
+if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END
+ if "%1" == "stop" goto :KARAF_DEBUG_END
+ if "%1" == "client" 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\boot"
+for %%G in (*.jar) 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\boot\%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 MAIN=org.apache.karaf.main.Main
+ SET SHIFT=false
+
+:RUN_LOOP
+ if "%1" == "stop" goto :EXECUTE_STOP
+ if "%1" == "status" goto :EXECUTE_STATUS
+ if "%1" == "console" goto :EXECUTE_CONSOLE
+ if "%1" == "server" goto :EXECUTE_SERVER
+ if "%1" == "client" goto :EXECUTE_CLIENT
+ if "%1" == "clean" goto :EXECUTE_CLEAN
+ if "%1" == "debug" goto :EXECUTE_DEBUG
+ goto :EXECUTE
+
+:EXECUTE_STOP
+ SET MAIN=org.apache.karaf.main.Stop
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_STATUS
+ SET MAIN=org.apache.karaf.main.Status
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_CONSOLE
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_SERVER
+ SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_CLIENT
+ SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_CLEAN
+ rmdir /S /Q "%KARAF_DATA%"
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE_DEBUG
+ if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
+ set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%
+ shift
+ goto :RUN_LOOP
+
+:EXECUTE
+ SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
+ rem Execute the Java Virtual Machine
+ cd "%KARAF_BASE%"
+ "%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%
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+:END
+
+endlocal
+
+if not "%PAUSE%" == "" pause
+
+:END_NO_PAUSE
+