You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2014/04/10 16:16:10 UTC
[48/59] [abbrv] [KARAF-2852] Merge wrapper/core and wrapper/command
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc32/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc32/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc32/karaf-wrapper
deleted file mode 100755
index 5215c2e..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc32/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc32/libwrapper.a
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc32/libwrapper.a b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc32/libwrapper.a
deleted file mode 100755
index 4bcc342..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc32/libwrapper.a and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc64/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc64/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc64/karaf-wrapper
deleted file mode 100755
index 6ba0351..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc64/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc64/libwrapper.a
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc64/libwrapper.a b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc64/libwrapper.a
deleted file mode 100755
index b569e3f..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/aix/ppc64/libwrapper.a and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/all/karaf-wrapper.jar
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/all/karaf-wrapper.jar b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/all/karaf-wrapper.jar
deleted file mode 100644
index 4db355b..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/all/karaf-wrapper.jar and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/hpux/parisc64/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/hpux/parisc64/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/hpux/parisc64/karaf-wrapper
deleted file mode 100755
index ad883d7..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/hpux/parisc64/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/hpux/parisc64/libwrapper.sl
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/hpux/parisc64/libwrapper.sl b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/hpux/parisc64/libwrapper.sl
deleted file mode 100755
index 08adc52..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/hpux/parisc64/libwrapper.sl and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux/karaf-wrapper
deleted file mode 100644
index 7e00645..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux/libwrapper.so
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux/libwrapper.so b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux/libwrapper.so
deleted file mode 100644
index 2cc4ab3..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux/libwrapper.so and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux64/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux64/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux64/karaf-wrapper
deleted file mode 100644
index 3128b95..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux64/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux64/libwrapper.so
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux64/libwrapper.so b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux64/libwrapper.so
deleted file mode 100644
index 24197bf..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/linux64/libwrapper.so and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/karaf-wrapper
deleted file mode 100644
index 0165db0..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/libwrapper.jnilib
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/libwrapper.jnilib b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/libwrapper.jnilib
deleted file mode 100644
index 6356705..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/libwrapper.jnilib and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/org.apache.karaf.KARAF.plist
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/org.apache.karaf.KARAF.plist b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/org.apache.karaf.KARAF.plist
deleted file mode 100644
index 1c18918..0000000
--- a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/macosx/org.apache.karaf.KARAF.plist
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- 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.
- -->
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>ProcessType</key>
- <string>Background</string>
- <key>KeepAlive</key>
- <false/>
- <key>Label</key>
- <string>org.apache.karaf.KARAF</string>
- <key>ProgramArguments</key>
- <array>
- <!-- path to your KARAF-service wrapper -->
- <string>${karaf.home}/bin/${name}-service</string>
- <string>console</string>
- </array>
- <key>RunAtLoad</key>
- <true/>
-</dict>
-</plist>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc32/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc32/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc32/karaf-wrapper
deleted file mode 100755
index 7cac208..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc32/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc32/libwrapper.so
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc32/libwrapper.so b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc32/libwrapper.so
deleted file mode 100755
index 4093262..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc32/libwrapper.so and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc64/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc64/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc64/karaf-wrapper
deleted file mode 100755
index 91257c6..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc64/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc64/libwrapper.so
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc64/libwrapper.so b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc64/libwrapper.so
deleted file mode 100755
index 008bef6..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/sparc64/libwrapper.so and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86/karaf-wrapper
deleted file mode 100755
index bdec254..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86/libwrapper.so
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86/libwrapper.so b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86/libwrapper.so
deleted file mode 100755
index 963ff49..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86/libwrapper.so and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86_64/karaf-wrapper
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86_64/karaf-wrapper b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86_64/karaf-wrapper
deleted file mode 100755
index 6bd165e..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86_64/karaf-wrapper and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86_64/libwrapper.so
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86_64/libwrapper.so b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86_64/libwrapper.so
deleted file mode 100755
index 0d52ffa..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/solaris/x86_64/libwrapper.so and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-service
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-service b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-service
deleted file mode 100644
index a7ca8bb..0000000
--- a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-service
+++ /dev/null
@@ -1,557 +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.
-# ------------------------------------------------------------------------
-
-# If require, set the JAVA_HOME to launch the wrapper
-#
-#JAVA_HOME=
-#
-
-# Application
-APP_NAME="${name}"
-APP_LONG_NAME="${displayName}"
-
-# Wrapper
-WRAPPER_CMD="${karaf.base}/bin/${APP_NAME}-wrapper"
-WRAPPER_CONF="${karaf.etc}/${APP_NAME}-wrapper.conf"
-
-# Priority at which to run the wrapper. See "man nice" for valid priorities.
-# nice is only used if a priority is specified.
-PRIORITY=
-
-# Location of the data folder.
-DATADIR="${karaf.data}"
-
-# Location of the pid file.
-PIDDIR="${karaf.data}"
-
-# If uncommented, causes the Wrapper to be shutdown using an anchor file.
-# When launched with the 'start' command, it will also ignore all INT and
-# TERM signals.
-#IGNORE_SIGNALS=true
-
-# If specified, the Wrapper will be run as the specified user.
-# IMPORTANT - Make sure that the user has the required privileges to write
-# the PID file and wrapper.log files. Failure to be able to write the log
-# file will cause the Wrapper to exit without any way to write out an error
-# message.
-# NOTE - This will set the user which is used to run the Wrapper as well as
-# the JVM and is not useful in situations where a privileged resource or
-# port needs to be allocated prior to the user being changed.
-#RUN_AS_USER=
-
-# The following two lines are used by the chkconfig command. Change as is
-# appropriate for your application. They should remain commented.
-# chkconfig: 2345 20 80
-# description: ${displayName}
-
-# Do not modify anything beyond this point
-#-----------------------------------------------------------------------------
-
-# Get the fully qualified path to the script
-case $0 in
- /*)
- SCRIPT="$0"
- ;;
- *)
- PWD=`pwd`
- SCRIPT="$PWD/$0"
- ;;
-esac
-
-# Resolve the true real path without any sym links.
-CHANGED=true
-while [ "X$CHANGED" != "X" ]
-do
- # Change spaces to ":" so the tokens can be parsed.
- SCRIPT=`echo $SCRIPT | sed -e 's; ;:;g'`
- # Get the real path to this script, resolving any symbolic links
- TOKENS=`echo $SCRIPT | sed -e 's;/; ;g'`
- REALPATH=
- for C in $TOKENS; do
- REALPATH="$REALPATH/$C"
- while [ -h "$REALPATH" ] ; do
- LS="`ls -ld "$REALPATH"`"
- LINK="`expr "$LS" : '.*-> \(.*\)$'`"
- if expr "$LINK" : '/.*' > /dev/null; then
- REALPATH="$LINK"
- else
- REALPATH="`dirname "$REALPATH"`""/$LINK"
- fi
- done
- done
- # Change ":" chars back to spaces.
- REALPATH=`echo $REALPATH | sed -e 's;:; ;g'`
-
- if [ "$REALPATH" = "$SCRIPT" ]
- then
- CHANGED=""
- else
- SCRIPT="$REALPATH"
- fi
-done
-
-# Change the current directory to the location of the script
-cd "`dirname "$REALPATH"`"
-REALDIR=`pwd`
-
-# If the PIDDIR is relative, set its value relative to the full REALPATH to avoid problems if
-# the working directory is later changed.
-FIRST_CHAR=`echo $PIDDIR | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- PIDDIR=$REALDIR/$PIDDIR
-fi
-# Same test for WRAPPER_CMD
-FIRST_CHAR=`echo $WRAPPER_CMD | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- WRAPPER_CMD=$REALDIR/$WRAPPER_CMD
-fi
-# Same test for WRAPPER_CONF
-FIRST_CHAR=`echo $WRAPPER_CONF | cut -c1,1`
-if [ "$FIRST_CHAR" != "/" ]
-then
- WRAPPER_CONF=$REALDIR/$WRAPPER_CONF
-fi
-
-# Process ID
-ANCHORFILE="$PIDDIR/$APP_NAME.anchor"
-PIDFILE="$PIDDIR/$APP_NAME.pid"
-LOCKDIR="/var/lock/subsys"
-LOCKFILE="$LOCKDIR/$APP_NAME"
-pid=""
-
-# Resolve the location of the 'ps' command
-PSEXE="/usr/bin/ps"
-if [ ! -x $PSEXE ]
-then
- PSEXE="/bin/ps"
- if [ ! -x $PSEXE ]
- then
- echo "Unable to locate 'ps'."
- echo "Please report this message along with the location of the command on your system."
- exit 1
- fi
-fi
-
-# Resolve the os
-DIST_OS=`uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]`
-case "$DIST_OS" in
- 'sunos')
- DIST_OS="solaris"
- ;;
- 'hp-ux' | 'hp-ux64')
- DIST_OS="hpux"
- ;;
- 'darwin')
- DIST_OS="macosx"
- ;;
- 'unix_sv')
- DIST_OS="unixware"
- ;;
-esac
-
-# Resolve the architecture
-DIST_ARCH=`uname -p | tr [:upper:] [:lower:] | tr -d [:blank:]`
-if [ "$DIST_ARCH" = "unknown" ]
-then
- DIST_ARCH=`uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]`
-fi
-case "$DIST_ARCH" in
- 'amd64' | 'ia32' | 'ia64' | 'i386' | 'i486' | 'i586' | 'i686' | 'x86_64')
- DIST_ARCH="x86"
- ;;
- 'ip27')
- DIST_ARCH="mips"
- ;;
- 'power' | 'powerpc' | 'power_pc' | 'ppc64')
- DIST_ARCH="ppc"
- ;;
- 'pa_risc' | 'pa-risc')
- DIST_ARCH="parisc"
- ;;
- 'sun4u' | 'sparcv9')
- DIST_ARCH="sparc"
- ;;
- '9000/800')
- DIST_ARCH="parisc"
- ;;
-esac
-
-# Decide on the wrapper binary to use.
-# If a 32-bit wrapper binary exists then it will work on 32 or 64 bit
-# platforms, if the 64-bit binary exists then the distribution most
-# likely wants to use long names. Otherwise, look for the default.
-# For macosx, we also want to look for universal binaries.
-WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
-if [ -x $WRAPPER_TEST_CMD ]
-then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
-else
- if [ "$DIST_OS" = "macosx" ]
- then
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-32"
- if [ -x $WRAPPER_TEST_CMD ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- if [ -x $WRAPPER_TEST_CMD ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-universal-64"
- if [ -x $WRAPPER_TEST_CMD ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- if [ ! -x $WRAPPER_CMD ]
- then
- echo "Unable to locate any of the following binaries:"
- echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
- echo " $WRAPPER_CMD-$DIST_OS-universal-32"
- echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- echo " $WRAPPER_CMD-$DIST_OS-universal-64"
- echo " $WRAPPER_CMD"
- exit 1
- fi
- fi
- fi
- fi
- else
- WRAPPER_TEST_CMD="$WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- if [ -x $WRAPPER_TEST_CMD ]
- then
- WRAPPER_CMD="$WRAPPER_TEST_CMD"
- else
- if [ ! -x $WRAPPER_CMD ]
- then
- echo "Unable to locate any of the following binaries:"
- echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-32"
- echo " $WRAPPER_CMD-$DIST_OS-$DIST_ARCH-64"
- echo " $WRAPPER_CMD"
- exit 1
- fi
- fi
- fi
-fi
-
-# Build the nice clause
-if [ "X$PRIORITY" = "X" ]
-then
- CMDNICE=""
-else
- CMDNICE="nice -$PRIORITY"
-fi
-
-# Build the anchor file clause.
-if [ "X$IGNORE_SIGNALS" = "X" ]
-then
- ANCHORPROP=
- IGNOREPROP=
-else
- ANCHORPROP=wrapper.anchorfile=$ANCHORFILE
- IGNOREPROP=wrapper.ignore_signals=TRUE
-fi
-
-# Build the lock file clause. Only create a lock file if the lock directory exists on this platform.
-if [ -d $LOCKDIR ]
-then
- LOCKPROP=wrapper.lockfile=$LOCKFILE
-else
- LOCKPROP=
-fi
-
-checkUser() {
- # Check the configured user. If necessary rerun this script as the desired user.
- if [ "X$RUN_AS_USER" != "X" ]
- then
- # Resolve the location of the 'id' command
- IDEXE="/usr/xpg4/bin/id"
- if [ ! -x $IDEXE ]
- then
- IDEXE="/usr/bin/id"
- if [ ! -x $IDEXE ]
- then
- echo "Unable to locate 'id'."
- echo "Please report this message along with the location of the command on your system."
- exit 1
- fi
- fi
-
- if [ "`$IDEXE -u -n`" = "$RUN_AS_USER" ]
- then
- # Already running as the configured user. Avoid password prompts by not calling su.
- RUN_AS_USER=""
- fi
- fi
- if [ "X$RUN_AS_USER" != "X" ]
- then
- # If LOCKPROP and $RUN_AS_USER are defined then the new user will most likely not be
- # able to create the lock file. The Wrapper will be able to update this file once it
- # is created but will not be able to delete it on shutdown. If $2 is defined then
- # the lock file should be created for the current command
- if [ "X$LOCKPROP" != "X" ]
- then
- if [ "X$2" != "X" ]
- then
- # Resolve the primary group
- RUN_AS_GROUP=`groups $RUN_AS_USER | awk '{print $3}' | tail -1`
- if [ "X$RUN_AS_GROUP" = "X" ]
- then
- RUN_AS_GROUP=$RUN_AS_USER
- fi
- touch $LOCKFILE
- chown $RUN_AS_USER:$RUN_AS_GROUP $LOCKFILE
- fi
- fi
-
- # Still want to change users, recurse. This means that the user will only be
- # prompted for a password once.
- su -m $RUN_AS_USER -s /bin/sh -c "$REALPATH $1"
- RETVAL=$?
-
- # Now that we are the original user again, we may need to clean up the lock file.
- if [ "X$LOCKPROP" != "X" ]
- then
- getpid
- if [ "X$pid" = "X" ]
- then
- # Wrapper is not running so make sure the lock file is deleted.
- if [ -f $LOCKFILE ]
- then
- rm $LOCKFILE
- fi
- fi
- fi
-
- exit $RETVAL
- fi
-}
-
-getpid() {
- if [ -f $PIDFILE ]
- then
- if [ -r $PIDFILE ]
- then
- pid=`cat $PIDFILE`
- if [ "X$pid" != "X" ]
- then
- # It is possible that 'a' process with the pid exists but that it is not the
- # correct process. This can happen in a number of cases, but the most
- # common is during system startup after an unclean shutdown.
- # The ps statement below looks for the specific wrapper command running as
- # the pid. If it is not found then the pid file is considered to be stale.
- if [ "$DIST_OS" = "solaris" ]
- then
- pidtest=`$PSEXE -p $pid -o comm | grep $WRAPPER_CMD | tail -1`
- else
- pidtest=`$PSEXE -p $pid -o command | grep $WRAPPER_CMD | tail -1`
- fi
- if [ "X$pidtest" = "X" ]
- then
- # This is a stale pid file.
- rm -f $PIDFILE
- echo "Removed stale pid file: $PIDFILE"
- pid=""
- fi
- fi
- else
- echo "Cannot read $PIDFILE."
- exit 1
- fi
- fi
-}
-
-testpid() {
- pid=`$PSEXE -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
- if [ "X$pid" = "X" ]
- then
- # Process is gone so remove the pid file.
- rm -f $PIDFILE
- pid=""
- fi
-}
-
-console() {
- echo "Running $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- COMMAND_LINE="$CMDNICE $WRAPPER_CMD $WRAPPER_CONF wrapper.syslog.ident=$APP_NAME wrapper.pidfile=$PIDFILE $ANCHORPROP $LOCKPROP"
- exec $COMMAND_LINE
- else
- echo "$APP_LONG_NAME is already running."
- exit 1
- fi
-}
-
-start() {
- echo "Starting $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- if [ ! -d $DATADIR ]; then
- mkdir $DATADIR
- fi
- if [ ! -d $DATADIR/log ]; then
- mkdir $DATADIR/log
- fi
- COMMAND_LINE="$CMDNICE $WRAPPER_CMD $WRAPPER_CONF wrapper.syslog.ident=$APP_NAME wrapper.pidfile=$PIDFILE wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP"
- exec $COMMAND_LINE
- else
- echo "$APP_LONG_NAME is already running."
- exit 1
- fi
-}
-
-stopit() {
- echo "Stopping $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME was not running."
- else
- if [ "X$IGNORE_SIGNALS" = "X" ]
- then
- # Running so try to stop it.
- kill $pid
- if [ $? -ne 0 ]
- then
- # An explanation for the failure should have been given
- echo "Unable to stop $APP_LONG_NAME."
- exit 1
- fi
- else
- rm -f $ANCHORFILE
- if [ -f $ANCHORFILE ]
- then
- # An explanation for the failure should have been given
- echo "Unable to stop $APP_LONG_NAME."
- exit 1
- fi
- fi
-
- # We can not predict how long it will take for the wrapper to
- # actually stop as it depends on settings in wrapper.conf.
- # Loop until it does.
- savepid=$pid
- CNT=0
- TOTCNT=0
- while [ "X$pid" != "X" ]
- do
- # Show a waiting message every 5 seconds.
- if [ "$CNT" -lt "5" ]
- then
- CNT=`expr $CNT + 1`
- else
- echo "Waiting for $APP_LONG_NAME to exit..."
- CNT=0
- fi
- TOTCNT=`expr $TOTCNT + 1`
-
- sleep 1
-
- testpid
- done
-
- pid=$savepid
- testpid
- if [ "X$pid" != "X" ]
- then
- echo "Failed to stop $APP_LONG_NAME."
- exit 1
- else
- echo "Stopped $APP_LONG_NAME."
- fi
- fi
-}
-
-status() {
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME is not running."
- exit 1
- else
- echo "$APP_LONG_NAME is running ($pid)."
- exit 0
- fi
-}
-
-dump() {
- echo "Dumping $APP_LONG_NAME..."
- getpid
- if [ "X$pid" = "X" ]
- then
- echo "$APP_LONG_NAME was not running."
-
- else
- kill -3 $pid
-
- if [ $? -ne 0 ]
- then
- echo "Failed to dump $APP_LONG_NAME."
- exit 1
- else
- echo "Dumped $APP_LONG_NAME."
- fi
- fi
-}
-
-case "$1" in
-
- 'console')
- checkUser $1 touchlock
- console
- ;;
-
- 'start')
- checkUser $1 touchlock
- start
- ;;
-
- 'stop')
- checkUser $1
- stopit
- ;;
-
- 'restart')
- checkUser $1 touchlock
- stopit
- start
- ;;
-
- 'status')
- checkUser $1
- status
- ;;
-
- 'dump')
- checkUser $1
- dump
- ;;
-
- *)
- echo "Usage: $0 { console | start | stop | restart | status | dump }"
- exit 1
- ;;
-esac
-
-exit 0
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf
deleted file mode 100644
index a3f98a5..0000000
--- a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/unix/karaf-wrapper.conf
+++ /dev/null
@@ -1,135 +0,0 @@
-# ------------------------------------------------------------------------
-# 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.
-# ------------------------------------------------------------------------
-
-#********************************************************************
-# Wrapper Properties
-#********************************************************************
-set.default.JAVA_HOME=${java.home}
-set.default.KARAF_HOME=${karaf.home}
-set.default.KARAF_BASE=${karaf.base}
-set.default.KARAF_DATA=${karaf.data}
-set.default.KARAF_ETC=${karaf.etc}
-
-# Java Application
-wrapper.working.dir=%KARAF_BASE%
-wrapper.java.command=%JAVA_HOME%/bin/java
-wrapper.java.mainclass=org.apache.karaf.wrapper.internal.Main
-wrapper.java.classpath.1=%KARAF_HOME%/lib/karaf-wrapper.jar
-wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar
-wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jmx-boot.jar
-wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-jaas-boot.jar
-wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-wrapper-main.jar
-wrapper.java.classpath.6=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
-wrapper.java.library.path.1=%KARAF_HOME%/lib/
-
-# Application Parameters. Add parameters as needed starting from 1
-#wrapper.app.parameter.1=
-
-# JVM Parameters
-# note that n is the parameter number starting from 1.
-wrapper.java.additional.1=-Dkaraf.home=%KARAF_HOME%
-wrapper.java.additional.2=-Dkaraf.base=%KARAF_BASE%
-wrapper.java.additional.3=-Dkaraf.data=%KARAF_DATA%
-wrapper.java.additional.4=-Dkaraf.etc=%KARAF_ETC%
-wrapper.java.additional.5=-Dcom.sun.management.jmxremote
-wrapper.java.additional.6=-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
-wrapper.java.additional.7=-Dkaraf.startLocalConsole=false
-wrapper.java.additional.8=-Dkaraf.startRemoteShell=true
-wrapper.java.additional.9=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
-wrapper.java.additional.10=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
-
-# Uncomment to enable jmx
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
-
-# Uncomment to enable YourKit profiling
-#wrapper.java.additional.n=-Xrunyjpagent
-
-# Uncomment to enable remote debugging
-#wrapper.java.additional.n=-Xdebug -Xnoagent -Djava.compiler=NONE
-#wrapper.java.additional.n=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
-
-# Initial Java Heap Size (in MB)
-#wrapper.java.initmemory=3
-
-# Maximum Java Heap Size (in MB)
-wrapper.java.maxmemory=512
-
-
-#********************************************************************
-# Wrapper Logging Properties
-#********************************************************************
-# Format of output for the console. (See docs for formats)
-wrapper.console.format=PM
-
-# Log Level for console output. (See docs for log levels)
-wrapper.console.loglevel=INFO
-
-# Log file to use for wrapper output logging.
-wrapper.logfile=%KARAF_DATA%/log/wrapper.log
-
-# Format of output for the log file. (See docs for formats)
-wrapper.logfile.format=LPTM
-
-# Log Level for log file output. (See docs for log levels)
-wrapper.logfile.loglevel=INFO
-
-# Maximum size that the log file will be allowed to grow to before
-# the log is rolled. Size is specified in bytes. The default value
-# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
-# 'm' (mb) suffix. For example: 10m = 10 megabytes.
-wrapper.logfile.maxsize=10m
-
-# Maximum number of rolled log files which will be allowed before old
-# files are deleted. The default value of 0 implies no limit.
-wrapper.logfile.maxfiles=5
-
-# Log Level for sys/event log output. (See docs for log levels)
-wrapper.syslog.loglevel=NONE
-
-#********************************************************************
-# Wrapper Windows Properties
-#********************************************************************
-# Title to use when running as a console
-wrapper.console.title=${name}
-
-#********************************************************************
-# Wrapper Windows NT/2000/XP Service Properties
-#********************************************************************
-# WARNING - Do not modify any of these properties when an application
-# using this configuration file has been installed as a service.
-# Please uninstall the service before modifying this section. The
-# service can then be reinstalled.
-
-# Name of the service
-wrapper.ntservice.name=${name}
-
-# Display name of the service
-wrapper.ntservice.displayname=${displayName}
-
-# Description of the service
-wrapper.ntservice.description=${description}
-
-# Service dependencies. Add dependencies as needed starting from 1
-wrapper.ntservice.dependency.1=
-
-# Mode in which the service is installed. AUTO_START or DEMAND_START
-wrapper.ntservice.starttype=${startType}
-
-# Allow the service to interact with the desktop.
-wrapper.ntservice.interactive=false
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-service.bat
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-service.bat b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-service.bat
deleted file mode 100644
index 0dd0474..0000000
--- a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-service.bat
+++ /dev/null
@@ -1,51 +0,0 @@
-@echo off
-
-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 ------------------------------------------------------------------------
-
-setlocal
-
-set APP_NAME=${name}
-set APP_LONG_NAME=${displayName}
-set APP_BASE=${karaf.base}
-set APP_ETC=${karaf.etc}
-
-if ""%1"" == ""run"" goto doRun
-if ""%1"" == ""install"" goto doInstall
-if ""%1"" == ""remove"" goto doRemove
-
-echo Usage: karaf-service ( commands ... )
-echo commands:
-echo run Start %APP_NAME% in the current console
-echo install Install %APP_NAME% as a Windows service
-echo remove Remove the %APP_NAME% Windows service
-goto end
-
-:doRun
-"%APP_BASE%\bin\%APP_NAME%-wrapper.exe" -c "%APP_ETC%\%APP_NAME%-wrapper.conf"
-goto end
-
-:doInstall
-"%APP_BASE%\bin\%APP_NAME%-wrapper.exe" -i "%APP_ETC%\%APP_NAME%-wrapper.conf"
-goto end
-
-:doRemove
-"%APP_BASE%\bin\%APP_NAME%-wrapper.exe" -r "%APP_ETC%\%APP_NAME%-wrapper.conf"
-goto end
-
-:end
-if not "%PAUSE%" == "" pause
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-wrapper.conf
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-wrapper.conf b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-wrapper.conf
deleted file mode 100644
index def40f7..0000000
--- a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-wrapper.conf
+++ /dev/null
@@ -1,135 +0,0 @@
-# ------------------------------------------------------------------------
-# 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.
-# ------------------------------------------------------------------------
-
-#********************************************************************
-# Wrapper Properties
-#********************************************************************
-set.default.JAVA_HOME=${java.home}
-set.default.KARAF_HOME=${karaf.home}
-set.default.KARAF_BASE=${karaf.base}
-set.default.KARAF_DATA=${karaf.data}
-set.default.KARAF_ETC=${karaf.etc}
-
-# Java Application
-wrapper.working.dir=%KARAF_BASE%
-wrapper.java.command=%JAVA_HOME%/bin/java
-wrapper.java.mainclass=org.apache.karaf.wrapper.internal.Main
-wrapper.java.classpath.1=%KARAF_HOME%/lib/karaf-wrapper.jar
-wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar
-wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jmx-boot.jar
-wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-jaas-boot.jar
-wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-wrapper-main.jar
-wrapper.java.classpath.6=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
-wrapper.java.library.path.1=%KARAF_HOME%/lib/
-
-# Application Parameters. Add parameters as needed starting from 1
-#wrapper.app.parameter.1=
-
-# JVM Parameters
-# note that n is the parameter number starting from 1.
-wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"
-wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"
-wrapper.java.additional.3=-Dkaraf.data="%KARAF_DATA%"
-wrapper.java.additional.4=-Dkaraf.etc="%KARAF_ETC%"
-wrapper.java.additional.5=-Dcom.sun.management.jmxremote
-wrapper.java.additional.6=-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
-wrapper.java.additional.7=-Dkaraf.startLocalConsole=false
-wrapper.java.additional.8=-Dkaraf.startRemoteShell=true
-wrapper.java.additional.9=-Djava.endorsed.dirs="%JAVA_HOME%/jre/lib/endorsed;%JAVA_HOME%/lib/endorsed;%KARAF_HOME%/lib/endorsed"
-wrapper.java.additional.10=-Djava.ext.dirs="%JAVA_HOME%/jre/lib/ext;%JAVA_HOME%/lib/ext;%KARAF_HOME%/lib/ext"
-
-# Uncomment to enable jmx
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
-
-# Uncomment to enable YourKit profiling
-#wrapper.java.additional.n=-Xrunyjpagent
-
-# Uncomment to enable remote debugging
-#wrapper.java.additional.n=-Xdebug -Xnoagent -Djava.compiler=NONE
-#wrapper.java.additional.n=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
-
-# Initial Java Heap Size (in MB)
-#wrapper.java.initmemory=3
-
-# Maximum Java Heap Size (in MB)
-wrapper.java.maxmemory=512
-
-
-#********************************************************************
-# Wrapper Logging Properties
-#********************************************************************
-# Format of output for the console. (See docs for formats)
-wrapper.console.format=PM
-
-# Log Level for console output. (See docs for log levels)
-wrapper.console.loglevel=INFO
-
-# Log file to use for wrapper output logging.
-wrapper.logfile=%KARAF_DATA%/log/wrapper.log
-
-# Format of output for the log file. (See docs for formats)
-wrapper.logfile.format=LPTM
-
-# Log Level for log file output. (See docs for log levels)
-wrapper.logfile.loglevel=INFO
-
-# Maximum size that the log file will be allowed to grow to before
-# the log is rolled. Size is specified in bytes. The default value
-# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
-# 'm' (mb) suffix. For example: 10m = 10 megabytes.
-wrapper.logfile.maxsize=10m
-
-# Maximum number of rolled log files which will be allowed before old
-# files are deleted. The default value of 0 implies no limit.
-wrapper.logfile.maxfiles=5
-
-# Log Level for sys/event log output. (See docs for log levels)
-wrapper.syslog.loglevel=NONE
-
-#********************************************************************
-# Wrapper Windows Properties
-#********************************************************************
-# Title to use when running as a console
-wrapper.console.title=${name}
-
-#********************************************************************
-# Wrapper Windows NT/2000/XP Service Properties
-#********************************************************************
-# WARNING - Do not modify any of these properties when an application
-# using this configuration file has been installed as a service.
-# Please uninstall the service before modifying this section. The
-# service can then be reinstalled.
-
-# Name of the service
-wrapper.ntservice.name=${name}
-
-# Display name of the service
-wrapper.ntservice.displayname=${displayName}
-
-# Description of the service
-wrapper.ntservice.description=${description}
-
-# Service dependencies. Add dependencies as needed starting from 1
-wrapper.ntservice.dependency.1=
-
-# Mode in which the service is installed. AUTO_START or DEMAND_START
-wrapper.ntservice.starttype=${startType}
-
-# Allow the service to interact with the desktop.
-wrapper.ntservice.interactive=false
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-wrapper.exe
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-wrapper.exe b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-wrapper.exe
deleted file mode 100644
index b4cfc55..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/karaf-wrapper.exe and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/wrapper.dll
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/wrapper.dll b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/wrapper.dll
deleted file mode 100644
index cb553c1..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows/wrapper.dll and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-service.bat
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-service.bat b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-service.bat
deleted file mode 100644
index 0dd0474..0000000
--- a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-service.bat
+++ /dev/null
@@ -1,51 +0,0 @@
-@echo off
-
-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 ------------------------------------------------------------------------
-
-setlocal
-
-set APP_NAME=${name}
-set APP_LONG_NAME=${displayName}
-set APP_BASE=${karaf.base}
-set APP_ETC=${karaf.etc}
-
-if ""%1"" == ""run"" goto doRun
-if ""%1"" == ""install"" goto doInstall
-if ""%1"" == ""remove"" goto doRemove
-
-echo Usage: karaf-service ( commands ... )
-echo commands:
-echo run Start %APP_NAME% in the current console
-echo install Install %APP_NAME% as a Windows service
-echo remove Remove the %APP_NAME% Windows service
-goto end
-
-:doRun
-"%APP_BASE%\bin\%APP_NAME%-wrapper.exe" -c "%APP_ETC%\%APP_NAME%-wrapper.conf"
-goto end
-
-:doInstall
-"%APP_BASE%\bin\%APP_NAME%-wrapper.exe" -i "%APP_ETC%\%APP_NAME%-wrapper.conf"
-goto end
-
-:doRemove
-"%APP_BASE%\bin\%APP_NAME%-wrapper.exe" -r "%APP_ETC%\%APP_NAME%-wrapper.conf"
-goto end
-
-:end
-if not "%PAUSE%" == "" pause
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-wrapper.conf
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-wrapper.conf b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-wrapper.conf
deleted file mode 100644
index def40f7..0000000
--- a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-wrapper.conf
+++ /dev/null
@@ -1,135 +0,0 @@
-# ------------------------------------------------------------------------
-# 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.
-# ------------------------------------------------------------------------
-
-#********************************************************************
-# Wrapper Properties
-#********************************************************************
-set.default.JAVA_HOME=${java.home}
-set.default.KARAF_HOME=${karaf.home}
-set.default.KARAF_BASE=${karaf.base}
-set.default.KARAF_DATA=${karaf.data}
-set.default.KARAF_ETC=${karaf.etc}
-
-# Java Application
-wrapper.working.dir=%KARAF_BASE%
-wrapper.java.command=%JAVA_HOME%/bin/java
-wrapper.java.mainclass=org.apache.karaf.wrapper.internal.Main
-wrapper.java.classpath.1=%KARAF_HOME%/lib/karaf-wrapper.jar
-wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar
-wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jmx-boot.jar
-wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-jaas-boot.jar
-wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-wrapper-main.jar
-wrapper.java.classpath.6=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
-wrapper.java.library.path.1=%KARAF_HOME%/lib/
-
-# Application Parameters. Add parameters as needed starting from 1
-#wrapper.app.parameter.1=
-
-# JVM Parameters
-# note that n is the parameter number starting from 1.
-wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"
-wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"
-wrapper.java.additional.3=-Dkaraf.data="%KARAF_DATA%"
-wrapper.java.additional.4=-Dkaraf.etc="%KARAF_ETC%"
-wrapper.java.additional.5=-Dcom.sun.management.jmxremote
-wrapper.java.additional.6=-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
-wrapper.java.additional.7=-Dkaraf.startLocalConsole=false
-wrapper.java.additional.8=-Dkaraf.startRemoteShell=true
-wrapper.java.additional.9=-Djava.endorsed.dirs="%JAVA_HOME%/jre/lib/endorsed;%JAVA_HOME%/lib/endorsed;%KARAF_HOME%/lib/endorsed"
-wrapper.java.additional.10=-Djava.ext.dirs="%JAVA_HOME%/jre/lib/ext;%JAVA_HOME%/lib/ext;%KARAF_HOME%/lib/ext"
-
-# Uncomment to enable jmx
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
-#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
-
-# Uncomment to enable YourKit profiling
-#wrapper.java.additional.n=-Xrunyjpagent
-
-# Uncomment to enable remote debugging
-#wrapper.java.additional.n=-Xdebug -Xnoagent -Djava.compiler=NONE
-#wrapper.java.additional.n=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
-
-# Initial Java Heap Size (in MB)
-#wrapper.java.initmemory=3
-
-# Maximum Java Heap Size (in MB)
-wrapper.java.maxmemory=512
-
-
-#********************************************************************
-# Wrapper Logging Properties
-#********************************************************************
-# Format of output for the console. (See docs for formats)
-wrapper.console.format=PM
-
-# Log Level for console output. (See docs for log levels)
-wrapper.console.loglevel=INFO
-
-# Log file to use for wrapper output logging.
-wrapper.logfile=%KARAF_DATA%/log/wrapper.log
-
-# Format of output for the log file. (See docs for formats)
-wrapper.logfile.format=LPTM
-
-# Log Level for log file output. (See docs for log levels)
-wrapper.logfile.loglevel=INFO
-
-# Maximum size that the log file will be allowed to grow to before
-# the log is rolled. Size is specified in bytes. The default value
-# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
-# 'm' (mb) suffix. For example: 10m = 10 megabytes.
-wrapper.logfile.maxsize=10m
-
-# Maximum number of rolled log files which will be allowed before old
-# files are deleted. The default value of 0 implies no limit.
-wrapper.logfile.maxfiles=5
-
-# Log Level for sys/event log output. (See docs for log levels)
-wrapper.syslog.loglevel=NONE
-
-#********************************************************************
-# Wrapper Windows Properties
-#********************************************************************
-# Title to use when running as a console
-wrapper.console.title=${name}
-
-#********************************************************************
-# Wrapper Windows NT/2000/XP Service Properties
-#********************************************************************
-# WARNING - Do not modify any of these properties when an application
-# using this configuration file has been installed as a service.
-# Please uninstall the service before modifying this section. The
-# service can then be reinstalled.
-
-# Name of the service
-wrapper.ntservice.name=${name}
-
-# Display name of the service
-wrapper.ntservice.displayname=${displayName}
-
-# Description of the service
-wrapper.ntservice.description=${description}
-
-# Service dependencies. Add dependencies as needed starting from 1
-wrapper.ntservice.dependency.1=
-
-# Mode in which the service is installed. AUTO_START or DEMAND_START
-wrapper.ntservice.starttype=${startType}
-
-# Allow the service to interact with the desktop.
-wrapper.ntservice.interactive=false
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-wrapper.exe
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-wrapper.exe b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-wrapper.exe
deleted file mode 100755
index db2ddda..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/karaf-wrapper.exe and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/wrapper.dll
----------------------------------------------------------------------
diff --git a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/wrapper.dll b/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/wrapper.dll
deleted file mode 100644
index f07fc9e..0000000
Binary files a/wrapper/core/src/main/resources/org/apache/karaf/wrapper/internal/windows64/wrapper.dll and /dev/null differ
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/pom.xml
----------------------------------------------------------------------
diff --git a/wrapper/pom.xml b/wrapper/pom.xml
index 3c809b9..6f36786 100644
--- a/wrapper/pom.xml
+++ b/wrapper/pom.xml
@@ -10,7 +10,7 @@
(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
+ 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,
@@ -29,13 +29,105 @@
</parent>
<groupId>org.apache.karaf.wrapper</groupId>
- <artifactId>wrapper</artifactId>
- <packaging>pom</packaging>
- <name>Apache Karaf :: Wrapper</name>
-
- <modules>
- <module>core</module>
- <module>command</module>
- </modules>
+ <artifactId>org.apache.karaf.wrapper.core</artifactId>
+ <packaging>bundle</packaging>
+ <name>Apache Karaf :: Wrapper :: Core</name>
+ <description>
+ Core implementation and integration of the Java Service Wrapper.
+ It provides a complete integration of Karaf with your Operating System.
+ </description>
+
+ <properties>
+ <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.karaf</groupId>
+ <artifactId>org.apache.karaf.main</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.karaf.shell</groupId>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>tanukisoft</groupId>
+ <artifactId>wrapper</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>${project.basedir}/src/main/resources</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ <resource>
+ <directory>${project.basedir}/src/main/resources</directory>
+ <filtering>true</filtering>
+ <includes>
+ <include>**/*.info</include>
+ </includes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <configuration>
+ <mainClass>Main</mainClass>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <Export-Package>
+ org.apache.karaf.wrapper,
+ org.apache.karaf.wrapper.management
+ </Export-Package>
+ <Private-Package>
+ org.apache.karaf.wrapper.commands,
+ org.apache.karaf.wrapper.internal,
+ org.apache.karaf.wrapper.internal.osgi,
+ org.apache.karaf.wrapper.management.internal,
+ org.tanukisoftware.wrapper*,
+ org.apache.karaf.main*,
+ org.apache.karaf.util.tracker
+ </Private-Package>
+ <Import-Package>
+ !org.apache.felix.utils.properties,
+ !org.apache.karaf.util.locks,
+ !org.apache.karaf.info,
+ *
+ </Import-Package>
+ <Bundle-Activator>
+ org.apache.karaf.wrapper.internal.osgi.Activator
+ </Bundle-Activator>
+ <Karaf-Commands>
+ org.apache.karaf.wrapper.commands
+ </Karaf-Commands>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/src/main/java/org/apache/karaf/wrapper/WrapperService.java
----------------------------------------------------------------------
diff --git a/wrapper/src/main/java/org/apache/karaf/wrapper/WrapperService.java b/wrapper/src/main/java/org/apache/karaf/wrapper/WrapperService.java
new file mode 100644
index 0000000..fb05a16
--- /dev/null
+++ b/wrapper/src/main/java/org/apache/karaf/wrapper/WrapperService.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+package org.apache.karaf.wrapper;
+
+import java.io.File;
+
+/**
+ * Interface describing the Wrapper service.
+ */
+public interface WrapperService {
+
+ /**
+ * Install the Karaf container as a system service in the OS.
+ */
+ public void install() throws Exception;
+
+ /**
+ * Install the Karaf container as a system service in the OS.
+ *
+ * @param name The service name that will be used when installing the service.
+ * @param displayName The display name of the service.
+ * @param description The description of the service.
+ * @param startType Mode in which the service is installed. AUTO_START or DEMAND_START.
+ * @return an array containing the wrapper configuration file (index 0) and the service file (index 1)
+ */
+ public File[] install(String name, String displayName, String description, String startType) throws Exception;
+
+}
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/src/main/java/org/apache/karaf/wrapper/commands/Install.java
----------------------------------------------------------------------
diff --git a/wrapper/src/main/java/org/apache/karaf/wrapper/commands/Install.java b/wrapper/src/main/java/org/apache/karaf/wrapper/commands/Install.java
new file mode 100644
index 0000000..346f6f1
--- /dev/null
+++ b/wrapper/src/main/java/org/apache/karaf/wrapper/commands/Install.java
@@ -0,0 +1,199 @@
+/*
+ * 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.
+ */
+package org.apache.karaf.wrapper.commands;
+
+import java.io.File;
+
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.Option;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.wrapper.WrapperService;
+
+import static org.apache.karaf.shell.support.ansi.SimpleAnsi.INTENSITY_BOLD;
+import static org.apache.karaf.shell.support.ansi.SimpleAnsi.INTENSITY_NORMAL;
+
+/**
+ * Installs the Karaf instance as a service in your operating system.
+ */
+@Command(scope = "wrapper", name = "install", description = "Install the container as a system service in the OS.")
+@Service
+public class Install implements Action {
+
+ @Option(name = "-n", aliases = { "--name" }, description = "The service name that will be used when installing the service. (Default: karaf)", required = false, multiValued = false)
+ private String name = "karaf";
+
+ @Option(name = "-d", aliases = { "--display" }, description = "The display name of the service.", required = false, multiValued = false)
+ private String displayName = "karaf";
+
+ @Option(name = "-D", aliases = { "--description" }, description = "The description of the service.", required = false, multiValued = false)
+ private String description = "";
+
+ @Option(name = "-s", aliases = { "--start-type" }, description = "Mode in which the service is installed. AUTO_START or DEMAND_START (Default: AUTO_START)", required = false, multiValued = false)
+ private String startType = "AUTO_START";
+
+ @Reference
+ private WrapperService wrapperService;
+
+ @Override
+ public Object execute() throws Exception {
+ File[] wrapperPaths = wrapperService.install(name, displayName, description, startType);
+
+ String os = System.getProperty("os.name", "Unknown");
+ File wrapperConf = wrapperPaths[0];
+ File serviceFile = wrapperPaths[1];
+
+ System.out.println("");
+ System.out.println("Setup complete. You may wish to tweak the JVM properties in the wrapper configuration file:");
+ System.out.println("\t" + wrapperConf.getPath());
+ System.out.println("before installing and starting the service.");
+ System.out.println("");
+ if (os.startsWith("Win")) {
+ System.out.println("");
+ System.out.println(INTENSITY_BOLD + "MS Windows system detected:" + INTENSITY_NORMAL);
+ System.out.println("To install the service, run: ");
+ System.out.println(" C:> " + serviceFile.getPath() + " install");
+ System.out.println("");
+ System.out.println("Once installed, to start the service run: ");
+ System.out.println(" C:> net start \"" + name + "\"");
+ System.out.println("");
+ System.out.println("Once running, to stop the service run: ");
+ System.out.println(" C:> net stop \"" + name + "\"");
+ System.out.println("");
+ System.out.println("Once stopped, to remove the installed the service run: ");
+ System.out.println(" C:> " + serviceFile.getPath() + " remove");
+ System.out.println("");
+ } else if (os.startsWith("Mac OS X")) {
+ System.out.println("");
+ System.out.println(INTENSITY_BOLD + "Mac OS X system detected:" + INTENSITY_NORMAL);
+ System.out.println("to add bin/org.apache.karaf.KARAF as user service move this file into ~/Library/LaunchAgents/");
+ System.out.println("> mv bin/org.apache.karaf.KARAF.plist ~/Library/LaunchAgents/");
+ System.out.println("");
+ System.out.println("to add org.apache.karaf.KARAF as system service move this into /Library/LaunchDaemons");
+ System.out.println("> sudo mv bin/org.apache.karaf.KARAF.plist /Library/LaunchDaemons/");
+ System.out.println("change owner and rights");
+ System.out.println("> sudo chown root:wheel /Library/LaunchDaemons/org.apache.karaf.KARAF.plist");
+ System.out.println("> sudo chmod u=rw,g=r,o=r /Library/LaunchDaemons/org.apache.karaf.KARAF.plist");
+ System.out.println("");
+ System.out.println("test your service");
+ System.out.println("> launchctl load ~/Library/LaunchAgents/org.apache.karaf.KARAF.plist");
+ System.out.println("> launchctl start org.apache.karaf.KARAF");
+ System.out.println("> launchctl stop org.apache.karaf.KARAF");
+ System.out.println("");
+ System.out.println("after restart your session or system");
+ System.out.println("you can use launchctl command to start and stop your service");
+ System.out.println("");
+ System.out.println("for removing the service call");
+ System.out.println("> launchctl remove org.apache.karaf.KARAF");
+ System.out.println("");
+ } else if (os.startsWith("Linux")) {
+
+ File debianVersion = new File("/etc/debian_version");
+ File redhatRelease = new File("/etc/redhat-release");
+
+ if (redhatRelease.exists()) {
+ System.out.println("");
+ System.out.println(INTENSITY_BOLD + "RedHat/Fedora/CentOS Linux system detected:" + INTENSITY_NORMAL);
+ System.out.println(" To install the service:");
+ System.out.println(" $ ln -s " + serviceFile.getPath() + " /etc/init.d/");
+ System.out.println(" $ chkconfig " + serviceFile.getName() + " --add");
+ System.out.println("");
+ System.out.println(" To start the service when the machine is rebooted:");
+ System.out.println(" $ chkconfig " + serviceFile.getName() + " on");
+ System.out.println("");
+ System.out.println(" To disable starting the service when the machine is rebooted:");
+ System.out.println(" $ chkconfig " + serviceFile.getName() + " off");
+ System.out.println("");
+ System.out.println(" To start the service:");
+ System.out.println(" $ service " + serviceFile.getName() + " start");
+ System.out.println("");
+ System.out.println(" To stop the service:");
+ System.out.println(" $ service " + serviceFile.getName() + " stop");
+ System.out.println("");
+ System.out.println(" To uninstall the service :");
+ System.out.println(" $ chkconfig " + serviceFile.getName() + " --del");
+ System.out.println(" $ rm /etc/init.d/" + serviceFile.getPath());
+ } else if (debianVersion.exists()) {
+ System.out.println("");
+ System.out.println(INTENSITY_BOLD + "Ubuntu/Debian Linux system detected:" + INTENSITY_NORMAL);
+ System.out.println(" To install the service:");
+ System.out.println(" $ ln -s " + serviceFile.getPath() + " /etc/init.d/");
+ System.out.println("");
+ System.out.println(" To start the service when the machine is rebooted:");
+ System.out.println(" $ update-rc.d " + serviceFile.getName() + " defaults");
+ System.out.println("");
+ System.out.println(" To disable starting the service when the machine is rebooted:");
+ System.out.println(" $ update-rc.d -f " + serviceFile.getName() + " remove");
+ System.out.println("");
+ System.out.println(" To start the service:");
+ System.out.println(" $ /etc/init.d/" + serviceFile.getName() + " start");
+ System.out.println("");
+ System.out.println(" To stop the service:");
+ System.out.println(" $ /etc/init.d/" + serviceFile.getName() + " stop");
+ System.out.println("");
+ System.out.println(" To uninstall the service :");
+ System.out.println(" $ rm /etc/init.d/" + serviceFile.getName());
+ } else {
+ System.out.println("");
+ System.out.println(INTENSITY_BOLD + "On Redhat/Fedora/CentOS Systems:" + INTENSITY_NORMAL);
+ System.out.println(" To install the service:");
+ System.out.println(" $ ln -s "+serviceFile.getPath()+" /etc/init.d/");
+ System.out.println(" $ chkconfig "+serviceFile.getName()+" --add");
+ System.out.println("");
+ System.out.println(" To start the service when the machine is rebooted:");
+ System.out.println(" $ chkconfig "+serviceFile.getName()+" on");
+ System.out.println("");
+ System.out.println(" To disable starting the service when the machine is rebooted:");
+ System.out.println(" $ chkconfig "+serviceFile.getName()+" off");
+ System.out.println("");
+ System.out.println(" To start the service:");
+ System.out.println(" $ service "+serviceFile.getName()+" start");
+ System.out.println("");
+ System.out.println(" To stop the service:");
+ System.out.println(" $ service "+serviceFile.getName()+" stop");
+ System.out.println("");
+ System.out.println(" To uninstall the service :");
+ System.out.println(" $ chkconfig "+serviceFile.getName()+" --del");
+ System.out.println(" $ rm /etc/init.d/"+serviceFile.getName());
+
+ System.out.println("");
+ System.out.println(INTENSITY_BOLD + "On Ubuntu/Debian Systems:" + INTENSITY_NORMAL);
+ System.out.println(" To install the service:");
+ System.out.println(" $ ln -s "+serviceFile.getPath()+" /etc/init.d/");
+ System.out.println("");
+ System.out.println(" To start the service when the machine is rebooted:");
+ System.out.println(" $ update-rc.d "+serviceFile.getName()+" defaults");
+ System.out.println("");
+ System.out.println(" To disable starting the service when the machine is rebooted:");
+ System.out.println(" $ update-rc.d -f "+serviceFile.getName()+" remove");
+ System.out.println("");
+ System.out.println(" To start the service:");
+ System.out.println(" $ /etc/init.d/"+serviceFile.getName()+" start");
+ System.out.println("");
+ System.out.println(" To stop the service:");
+ System.out.println(" $ /etc/init.d/"+serviceFile.getName()+" stop");
+ System.out.println("");
+ System.out.println(" To uninstall the service :");
+ System.out.println(" $ rm /etc/init.d/"+serviceFile.getName());
+ }
+
+ }
+
+ return null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/karaf/blob/4182735c/wrapper/src/main/java/org/apache/karaf/wrapper/internal/Main.java
----------------------------------------------------------------------
diff --git a/wrapper/src/main/java/org/apache/karaf/wrapper/internal/Main.java b/wrapper/src/main/java/org/apache/karaf/wrapper/internal/Main.java
new file mode 100644
index 0000000..8f3060e
--- /dev/null
+++ b/wrapper/src/main/java/org/apache/karaf/wrapper/internal/Main.java
@@ -0,0 +1,146 @@
+/*
+ * 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.
+ */
+package org.apache.karaf.wrapper.internal;
+
+import org.apache.karaf.main.ShutdownCallback;
+import org.tanukisoftware.wrapper.WrapperListener;
+import org.tanukisoftware.wrapper.WrapperManager;
+
+/**
+ * Java Service Wrapper Main class
+ */
+public class Main extends Thread implements WrapperListener, ShutdownCallback {
+
+ private org.apache.karaf.main.Main main;
+ private volatile boolean destroying;
+
+ /*---------------------------------------------------------------
+ * Constructors
+ *-------------------------------------------------------------*/
+ private Main() {
+ }
+
+ /*---------------------------------------------------------------
+ * WrapperListener Methods
+ *-------------------------------------------------------------*/
+
+ /**
+ * The start method is called when the WrapperManager is signaled by the
+ * native Wrapper code that it can start its application. This
+ * method call is expected to return, so a new thread should be launched
+ * if necessary.
+ *
+ * @param args List of arguments used to initialize the application.
+ * @return Any error code if the application should exit on completion
+ * of the start method. If there were no problems then this
+ * method should return null.
+ */
+ public Integer start(String[] args) {
+ main = new org.apache.karaf.main.Main(args);
+ try {
+ main.launch();
+ main.setShutdownCallback(this);
+ start();
+ return null;
+ } catch (Throwable ex) {
+ System.err.println("Could not create framework: " + ex);
+ ex.printStackTrace();
+ return -1;
+ }
+ }
+
+ public void run() {
+ try {
+ main.awaitShutdown();
+ if (!destroying) {
+ WrapperManager.stop(main.getExitCode());
+ }
+ } catch (Exception e) {
+ // Ignore
+ }
+ }
+
+ /**
+ * Called when the application is shutting down. The Wrapper assumes that
+ * this method will return fairly quickly. If the shutdown code code
+ * could potentially take a long time, then WrapperManager.signalStopping()
+ * should be called to extend the timeout period. If for some reason,
+ * the stop method can not return, then it must call
+ * WrapperManager.stopped() to avoid warning messages from the Wrapper.
+ *
+ * @param exitCode The suggested exit code that will be returned to the OS
+ * when the JVM exits.
+ * @return The exit code to actually return to the OS. In most cases, this
+ * should just be the value of exitCode, however the user code has
+ * the option of changing the exit code if there are any problems
+ * during shutdown.
+ */
+ public int stop(int exitCode) {
+ try {
+ destroying = true;
+ if (!main.destroy()) {
+ System.err.println("Timeout waiting for Karaf to shutdown");
+ return -3;
+ }
+ } catch (Throwable ex) {
+ System.err.println("Error occured shutting down framework: " + ex);
+ ex.printStackTrace();
+ return -2;
+ }
+
+ return main.getExitCode();
+ }
+
+ /**
+ * Call-back method is called by the @{link org.apache.karaf.main.Main} for Signaling
+ * that the stopping process is in progress and the wrapper doesn't kill the JVM.
+ */
+ public void waitingForShutdown(int delay) {
+ WrapperManager.signalStopping(delay);
+ }
+
+ /**
+ * Called whenever the native Wrapper code traps a system control signal
+ * against the Java process. It is up to the callback to take any actions
+ * necessary. Possible values are: WrapperManager.WRAPPER_CTRL_C_EVENT,
+ * WRAPPER_CTRL_CLOSE_EVENT, WRAPPER_CTRL_LOGOFF_EVENT, or
+ * WRAPPER_CTRL_SHUTDOWN_EVENT
+ *
+ * @param event The system control signal.
+ */
+ public void controlEvent(int event) {
+ if ((event == WrapperManager.WRAPPER_CTRL_LOGOFF_EVENT)
+ && (WrapperManager.isLaunchedAsService())) {
+ // Ignore
+ } else {
+ WrapperManager.stop(0);
+ // Will not get here.
+ }
+ }
+
+ /*---------------------------------------------------------------
+ * Main Method
+ *-------------------------------------------------------------*/
+ public static void main(String[] args) {
+ // Start the application. If the JVM was launched from the native
+ // Wrapper then the application will wait for the native Wrapper to
+ // call the application's start method. Otherwise the start method
+ // will be called immediately.
+ WrapperManager.start(new Main(), args);
+ }
+
+}
\ No newline at end of file