Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id E3A2E200BD8 for ; Wed, 7 Dec 2016 15:58:18 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id E2208160B26; Wed, 7 Dec 2016 14:58:18 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 670FD160AFD for ; Wed, 7 Dec 2016 15:58:17 +0100 (CET) Received: (qmail 7056 invoked by uid 500); 7 Dec 2016 14:58:16 -0000 Mailing-List: contact commits-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@karaf.apache.org Delivered-To: mailing list commits@karaf.apache.org Received: (qmail 7047 invoked by uid 99); 7 Dec 2016 14:58:16 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Dec 2016 14:58:16 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 7AA08DFF56; Wed, 7 Dec 2016 14:58:16 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: gnodet@apache.org To: commits@karaf.apache.org Date: Wed, 07 Dec 2016 14:58:16 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [1/2] karaf git commit: [KARAF-4852] Improve unix shell scripts archived-at: Wed, 07 Dec 2016 14:58:19 -0000 Repository: karaf Updated Branches: refs/heads/master 406c6f093 -> d7a2185a7 http://git-wip-us.apache.org/repos/asf/karaf/blob/d7a2185a/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 deleted file mode 100755 index 62c5e28..0000000 --- a/assemblies/features/base/src/main/resources/resources/bin/karaf +++ /dev/null @@ -1,574 +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. -# - -realpath() { - OURPWD=${PWD} - cd "$(dirname "${1}")" || exit 2 - LINK=$(ls -l "$(basename "${1}")" | awk -F"-> " '{print $2}') - while [ "${LINK}" ]; do - echo "link: ${LINK}" >&2 - cd "$(dirname "${LINK}")" || exit 2 - LINK=$(ls -l "$(basename "${1}")" | awk -F"-> " '{print $2}') - done - REALPATH="${PWD}/$(basename "${1}")" - cd "${OURPWD}" || exit 2 - echo "${REALPATH}" -} - -REALNAME=$(realpath "$0") -DIRNAME=$(dirname "${REALNAME}") -PROGNAME=$(basename "${REALNAME}") - -# -# 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 -} - -forceNoRoot() { - # If configured, prevent execution as root - if [ "${KARAF_NOROOT}" ] && [ "$(id -u)" -eq 0 ]; then - echo "Do not run as root!" - exit 2 - fi -} - -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 [ "x$(command -v ulimit)" != "x" ] && [ "${os400}" = "false" ] ; then - if [ "${MAX_FD}" = "maximum" ] || [ "${MAX_FD}" = "max" ]; then - MAX_FD_LIMIT=$(ulimit -H -n) - if [ $? -eq 0 ]; then - # use the system max - MAX_FD="${MAX_FD_LIMIT}" - else - warn "Could not query system maximum file descriptor limit: ${MAX_FD_LIMIT}" - fi - fi - if [ "${MAX_FD}" != 'unlimited' ]; then - ulimit -n "${MAX_FD}" > /dev/null - if [ $? -ne 0 ]; then - warn "Could not set maximum file descriptor limit: ${MAX_FD}" - 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}/.." || exit 2; 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() { - 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 - bas=$(basename "${dst}") - 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.8)" - 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=$(command -v 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') - if [ "x${VERSION}" = "x" ]; then - VERSION=90 - fi - 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, client, or status mode - if [ "x${MODE}" = "xstop" ]; then - return - fi - if [ "x${MODE}" = "xclient" ]; then - return - fi - if [ "x${MODE}" = "xstatus" ]; 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 - # permgen was removed in Java 8 - 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') - if [ "x${VERSION}" = "x" ]; then - VERSION=90 - fi - if [ "${VERSION}" -lt "80" ]; 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 - 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" -} - -checkRootInstance() { - ROOT_INSTANCE_RUNNING=false - if [ -f "${KARAF_HOME}/instances/instance.properties" ]; - then - ROOT_INSTANCE_PID=$(sed -n -e '/item.0.pid/ s/.*\= *//p' "${KARAF_HOME}/instances/instance.properties") - ROOT_INSTANCE_NAME=$(sed -n -e '/item.0.name/ s/.*\= *//p' "${KARAF_HOME}/instances/instance.properties") - if [ "${ROOT_INSTANCE_PID}" -ne "0" ]; then - if ps p "${ROOT_INSTANCE_PID}" > /dev/null - then - ROOT_INSTANCE_RUNNING=true - fi - fi - fi -} - -init() { - # Prevent root execution if configured - forceNoRoot - - # 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 - - # Check if a root instance is already running - checkRootInstance - - # Setup default options - setupDefaults - - # Install debug options - setupDebugOptions - -} - -run() { - OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true" - MAIN=org.apache.karaf.main.Main - CHECK_ROOT_INSTANCE_RUNNING=true - 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 - CHECK_ROOT_INSTANCE_RUNNING=false - shift - ;; - 'stop') - MAIN=org.apache.karaf.main.Stop - CHECK_ROOT_INSTANCE_RUNNING=false - shift - ;; - 'console') - CHECK_ROOT_INSTANCE_RUNNING=false - shift - ;; - 'server') - OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true" - shift - ;; - 'run') - OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -Dkaraf.log.console=ALL" - shift - ;; - 'daemon') - OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true" - KARAF_DAEMON="true" - KARAF_EXEC="exec" - shift - ;; - 'client') - OPTS="-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false" - CHECK_ROOT_INSTANCE_RUNNING=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}") - if [ ! -z "${CLASSPATH}" ]; then - CLASSPATH=$(cygpath --path --windows "${CLASSPATH}") - fi - 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}" || exit 2 - - if [ -z "${KARAF_EXEC}" ]; then - KARAF_EXEC="" - fi - - while true; do - # When users want to update the lib version of, they just need to create - # a lib.next directory and on the new restart, it will replace the current lib directory. - if [ -d "${KARAF_HOME:?}/lib.next" ] ; then - echo "Updating libs..." - rm -rf "${KARAF_HOME:?}/lib" - mv -f "${KARAF_HOME:?}/lib.next" "${KARAF_HOME}/lib" - fi - - # Ensure the log directory exists - # We may need to have a place to redirect stdout/stderr - if [ ! -d "${KARAF_DATA}/log" ]; then - mkdir -p "${KARAF_DATA}/log" - fi - - if [ "${ROOT_INSTANCE_RUNNING}" = "false" ] || [ "${CHECK_ROOT_INSTANCE_RUNNING}" = "false" ] ; then - if [ "${VERSION}" -gt "80" ]; then - ${KARAF_EXEC} "${JAVA}" ${JAVA_OPTS} \ - --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED \ - --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED \ - --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED \ - --add-exports=java.xml.bind/com.sun.xml.internal.bind.v2.runtime=ALL-UNNAMED \ - --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED \ - --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED \ - --add-modules java.annotations.common,java.corba,java.transaction,java.xml.bind,java.xml.ws \ - -Dkaraf.instances="${KARAF_HOME}/instances" \ - -Dkaraf.home="${KARAF_HOME}" \ - -Dkaraf.base="${KARAF_BASE}" \ - -Dkaraf.data="${KARAF_DATA}" \ - -Dkaraf.etc="${KARAF_ETC}" \ - -Dkaraf.restart.jvm.supported=true \ - -Djava.io.tmpdir="${KARAF_DATA}/tmp" \ - -Djava.util.logging.config.file="${KARAF_BASE}/etc/java.util.logging.properties" \ - ${KARAF_SYSTEM_OPTS} \ - ${KARAF_OPTS} \ - ${OPTS} \ - -classpath "${CLASSPATH}" \ - ${MAIN} "$@" - else - ${KARAF_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}" \ - -Dkaraf.restart.jvm.supported=true \ - -Djava.io.tmpdir="${KARAF_DATA}/tmp" \ - -Djava.util.logging.config.file="${KARAF_BASE}/etc/java.util.logging.properties" \ - ${KARAF_SYSTEM_OPTS} \ - ${KARAF_OPTS} \ - ${OPTS} \ - -classpath "${CLASSPATH}" \ - ${MAIN} "$@" - fi - else - die "There is a Root instance already running with name ${ROOT_INSTANCE_NAME} and pid ${ROOT_INSTANCE_PID}" - fi - - KARAF_RC=$? - if [ ${KARAF_DAEMON} ] ; then - exit ${KARAF_RC} - else - if [ "${KARAF_RC}" -eq 10 ]; then - echo "Restarting JVM..." - else - exit ${KARAF_RC} - fi - fi - done -} - -nothing() { - # nothing to do here - a=a -} - -main() { - init - trap 'nothing' SIGTSTP - run "$@" -} - -main "$@" http://git-wip-us.apache.org/repos/asf/karaf/blob/d7a2185a/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 deleted file mode 100644 index de0f213..0000000 --- a/assemblies/features/base/src/main/resources/resources/bin/karaf.bat +++ /dev/null @@ -1,428 +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%" - call :warn Creating %KARAF_DATA% - mkdir %KARAF_DATA% - ) -) -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 - -:CheckRootInstance - set ROOT_INSTANCE_RUNNING=false - if exist "%KARAF_HOME%\instances\instance.properties" ( - for /f "delims=" %%x in ( 'findstr "item.0.pid" "%KARAF_HOME%\instances\instance.properties" ' ) do @set pid=%%x - for /f "delims=" %%i in ( 'findstr "item.0.name" "%KARAF_HOME%\instances\instance.properties" ' ) do @set name=%%i - ) - set ROOT_INSTANCE_PID=%pid:~13% - - set ROOT_INSTANCE_NAME=%name:~14% - SET CHECK_RUNNING_CONDITION=true - if "%ROOT_INSTANCE_PID%" == "~13" SET CHECK_RUNNING_CONDITION=false - if "%ROOT_INSTANCE_PID%" == "0" SET CHECK_RUNNING_CONDITION=false - if "%CHECK_RUNNING_CONDITION%" == "true" ( - tasklist /fi "PID eq %ROOT_INSTANCE_PID%" | find ":" > NUL - if errorlevel 1 set ROOT_INSTANCE_RUNNING=true - ) - - -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% -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 - if "%1" == "status" 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 - -SET CHECK_ROOT_INSTANCE_RUNNING=true - -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" == "run" goto :EXECUTE_RUN - if "%1" == "daemon" goto :EXECUTE_DAEMON - 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 - SET CHECK_ROOT_INSTANCE_RUNNING=false - shift - goto :RUN_LOOP - -:EXECUTE_STATUS - SET MAIN=org.apache.karaf.main.Status - SET CHECK_ROOT_INSTANCE_RUNNING=false - shift - goto :RUN_LOOP - -:EXECUTE_CONSOLE - SET CHECK_ROOT_INSTANCE_RUNNING=false - shift - goto :RUN_LOOP - -:EXECUTE_SERVER - SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true - shift - goto :RUN_LOOP - -:EXECUTE_RUN - SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -Dkaraf.log.console=ALL - shift - goto :RUN_LOOP - -:EXECUTE_DAEMON - SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true - SET KARAF_DAEMON=true - shift - goto :RUN_LOOP - -:EXECUTE_CLIENT - SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false - SET CHECK_ROOT_INSTANCE_RUNNING=false - shift - goto :RUN_LOOP - -:EXECUTE_CLEAN - pushd "%KARAF_DATA%" && (rmdir /S /Q "%KARAF_DATA%" 2>nul & popd) - 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%" - - rem When users want to update the lib version of, they just need to create - rem a lib.next directory and on the new restart, it will replace the current lib directory. - if exist "%KARAF_HOME%\lib.next" ( - echo Updating libs... - RD /S /Q "%KARAF_HOME%\lib" - MOVE /Y "%KARAF_HOME%\lib.next" "%KARAF_HOME%\lib" - ) - - SET IS_RUNNABLE=false - if "%ROOT_INSTANCE_RUNNING%" == "false" SET IS_RUNNABLE=true - if "%CHECK_ROOT_INSTANCE_RUNNING%" == "false" SET IS_RUNNABLE=true - if "%IS_RUNNABLE%" == "true" ( - "%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%" ^ - -Dkaraf.restart.jvm.supported=true ^ - -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% - ) else ( - echo There is a Root instance already running with name %ROOT_INSTANCE_NAME% and pid %ROOT_INSTANCE_PID% - goto :END - ) - - rem If KARAF_DAEMON is defined, auto-restart is bypassed and control given - rem back to the operating system - if defined "%KARAF_DAEMON%" ( - rem If Karaf has been started by winsw, the process can be restarted - rem by executing KARAF_DAEMON% restart! - rem https://github.com/kohsuke/winsw#restarting-service-from-itself - if defined "%WINSW_EXECUTABLE%" ( - if ERRORLEVEL 10 ( - echo Restarting ... - %KARAF_DAEMON% restart! - ) - ) else ( - if ERRORLEVEL 10 ( - echo Restarting JVM... - goto EXECUTE - ) - ) - ) - -rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - -:END - -endlocal - -if not "%PAUSE%" == "" pause - -:END_NO_PAUSE - EXIT /B %ERRORLEVEL% http://git-wip-us.apache.org/repos/asf/karaf/blob/d7a2185a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/karaf ---------------------------------------------------------------------- diff --git a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/karaf b/instance/src/main/resources/org/apache/karaf/instance/resources/bin/karaf index 8967cea..8027492 100644 --- a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/karaf +++ b/instance/src/main/resources/org/apache/karaf/instance/resources/bin/karaf @@ -22,4 +22,4 @@ KARAF_HOME=${SUBST-KARAF-HOME} KARAF_BASE=${SUBST-KARAF-BASE} export KARAF_BASE -exec ${KARAF_HOME}/bin/karaf "$*" +exec "${KARAF_HOME}/bin/karaf" "$*" http://git-wip-us.apache.org/repos/asf/karaf/blob/d7a2185a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/start ---------------------------------------------------------------------- diff --git a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/start b/instance/src/main/resources/org/apache/karaf/instance/resources/bin/start index d45d749..80d11a5 100644 --- a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/start +++ b/instance/src/main/resources/org/apache/karaf/instance/resources/bin/start @@ -21,5 +21,5 @@ KARAF_HOME=${SUBST-KARAF-HOME} KARAF_NAME=${SUBST-KARAF-NAME} -exec ${KARAF_HOME}/bin/instance start ${KARAF_NAME} "$@" +exec "${KARAF_HOME}/bin/instance" start "${KARAF_NAME}" "$@" http://git-wip-us.apache.org/repos/asf/karaf/blob/d7a2185a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/stop ---------------------------------------------------------------------- diff --git a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/stop b/instance/src/main/resources/org/apache/karaf/instance/resources/bin/stop index fb91985..3e89663 100644 --- a/instance/src/main/resources/org/apache/karaf/instance/resources/bin/stop +++ b/instance/src/main/resources/org/apache/karaf/instance/resources/bin/stop @@ -21,5 +21,5 @@ KARAF_HOME=${SUBST-KARAF-HOME} KARAF_NAME=${SUBST-KARAF-NAME} -exec ${KARAF_HOME}/bin/instance stop ${KARAF_NAME} "$@" +exec "${KARAF_HOME}/bin/instance" stop "${KARAF_NAME}" "$@"