You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by le...@apache.org on 2003/03/10 09:09:06 UTC
cvs commit: avalon-phoenix/src/script InstallPhoenix-NT.bat phoenix-wrapper.bash phoenix-wrapper.sh Phoenix.bat UninstallPhoenix-NT.bat
leif 2003/03/10 00:09:05
Modified: . build.xml
Added: src/script InstallPhoenix-NT.bat phoenix-wrapper.bash
phoenix-wrapper.sh Phoenix.bat
UninstallPhoenix-NT.bat
Log:
Get platform dependent builds which include the Wrapper working.
Revision Changes Path
1.219 +296 -67 avalon-phoenix/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/avalon-phoenix/build.xml,v
retrieving revision 1.218
retrieving revision 1.219
diff -u -r1.218 -r1.219
--- build.xml 6 Mar 2003 12:27:28 -0000 1.218
+++ build.xml 10 Mar 2003 08:09:05 -0000 1.219
@@ -31,6 +31,9 @@
<property file="project.properties"/>
+ <!-- platform -->
+ <property name="is.${os.name}" value="true"/>
+
<property name="build.debug" value="on"/>
<property name="build.optimize" value="off"/>
<property name="build.deprecation" value="off"/>
@@ -85,13 +88,17 @@
<property name="announce2site" value="${phoenix.tools.dir}/announcement2site.xsl"/>
<property name="status2changes" value="${phoenix.tools.dir}/status2changes.xsl"/>
+ <!-- Invoke 'ant get-wrapper' to get these -->
+ <property name="wrapper.version" value="3.0.0"/>
+ <property name="wrapper.jar" value="${repo.dir}/wrapper/bin/wrapper.jar"/>
+
<!-- Invoke 'ant get-mx4j' to get these -->
<property name="mx4j.jar" value="${repo.dir}/mx4j/mx4j-1.1.1/lib/mx4j-jmx.jar"/>
<property name="mx4j-tools.jar" value="${repo.dir}/mx4j/mx4j-1.1.1/lib/mx4j-tools.jar"/>
<!-- Invoke 'ant get-beanshell' to get this -->
<property name="beanshell.jar" value="${repo.dir}/beanshell/bsh-1.2b7.jar"/>
-
+
<path id="project.class.path">
<pathelement location="${xerces.jar}"/>
<pathelement location="${framework.jar}"/>
@@ -122,57 +129,194 @@
<path refid="project.class.path"/>
</path>
- <!-- Main target -->
- <target name="main" depends="dist-lite"
- description="generates the Phoenix distribution without the javadocs"/>
+ <!-- =================================================================== -->
+ <!-- Resolve Platform properties -->
+ <!-- =================================================================== -->
+ <target name="init-windows-nt" if="is.Windows NT">
+ <property name="is.Windows" value="true"/>
+ <property name="is.shell.bat" value="true"/>
+ <property name="wrapper.dist.name" value="wrapper_win32_${wrapper.version}"/>
+ <property name="dist.name.wrapper" value="${name}_win32_${version}"/>
+ </target>
+ <target name="init-windows-2000" if="is.Windows 2000">
+ <property name="is.Windows" value="true"/>
+ <property name="is.shell.bat" value="true"/>
+ <property name="wrapper.dist.name" value="wrapper_win32_${wrapper.version}"/>
+ <property name="dist.name.wrapper" value="${name}_win32_${version}"/>
+ </target>
+ <target name="init-windows-xp" if="is.Windows XP">
+ <property name="is.Windows" value="true"/>
+ <property name="is.shell.bat" value="true"/>
+ <property name="wrapper.dist.name" value="wrapper_win32_${wrapper.version}"/>
+ <property name="dist.name.wrapper" value="${name}_win32_${version}"/>
+ </target>
+ <target name="init-linux" if="is.Linux">
+ <property name="is.Unix" value="true"/>
+ <property name="is.shell.bash" value="true"/>
+ <property name="phoenix-wrapper.sh" value="${script.dir}/phoenix-wrapper.bash"/>
+ <property name="wrapper.dist.name" value="wrapper_linux_${wrapper.version}"/>
+ <property name="dist.name.wrapper" value="${name}_linux_${version}"/>
+ </target>
+ <target name="init-solaris" if="is.SunOS">
+ <property name="is.Unix" value="true"/>
+ <property name="is.shell.sh" value="true"/>
+ <property name="phoenix-wrapper.sh" value="${script.dir}/phoenix-wrapper.sh"/>
+ <property name="wrapper.dist.name" value="wrapper_solaris_${wrapper.version}"/>
+ <property name="dist.name.wrapper" value="${name}_solaris_${version}"/>
+ </target>
+ <target name="init-aix" if="is.AIX">
+ <property name="is.Unix" value="true"/>
+ <property name="is.shell.sh" value="true"/>
+ <property name="phoenix-wrapper.sh" value="${script.dir}/phoenix-wrapper.sh"/>
+ <property name="wrapper.dist.name" value="wrapper_aix_${wrapper.version}"/>
+ <property name="dist.name.wrapper" value="${name}_aix_${version}"/>
+ </target>
+ <target name="init-hpux" if="is.HP-UX">
+ <property name="is.Unix" value="true"/>
+ <property name="is.shell.sh" value="true"/>
+ <property name="phoenix-wrapper.sh" value="${script.dir}/phoenix-wrapper.sh"/>
+ <property name="wrapper.dist.name" value="wrapper_hpux_${wrapper.version}"/>
+ <property name="dist.name.wrapper" value="${name}_hpux_${version}"/>
+ </target>
+
+ <!-- =================================================================== -->
+ <!-- Initialize build. -->
+ <!-- =================================================================== -->
+ <target name="init"
+ depends="init-windows-nt, init-windows-2000, init-windows-xp, init-linux, init-solaris, init-aix, init-hpux">
+ <echo message="OS='${os.name}'"/>
+
+ <!-- Wrapper filters -->
+ <filter token="app.name" value="phoenix"/>
+ <filter token="app.long.name" value="Phoenix Application Server"/>
- <target name="rebuild" description="Rebuilds Phoenix">
- <antcall target="clean" inheritall="false"/>
- <antcall target="main" inheritall="false"/>
- <antcall target="test" inheritall="false"/>
</target>
+
+ <!-- =================================================================== -->
+ <!-- Wrapper Tasks. -->
+ <!-- =================================================================== -->
+ <target name="check-wrapper-init" depends="init">
+ <available property="wrapper.present" classname="org.tanukisoftware.wrapper.WrapperManager">
+ <classpath refid="project.class.path"/>
+ </available>
+
+ <condition property="wrapper.present.Windows">
+ <and>
+ <isset property="wrapper.present"/>
+ <isset property="is.Windows"/>
+ </and>
+ </condition>
+
+ <condition property="wrapper.present.Unix">
+ <and>
+ <isset property="wrapper.present"/>
+ <isset property="is.Unix"/>
+ </and>
+ </condition>
+ </target>
+
+ <target name="check-wrapper" depends="check-wrapper-init" unless="wrapper.present">
+ <echo>*****************************</echo>
+ <echo>* Please execute target *</echo>
+ <echo>* 'get-wrapper' in the main *</echo>
+ <echo>* build.xml build file *</echo>
+ <echo>* to download one and *</echo>
+ <echo>* a half Mb of Wrapper *</echo>
+ <echo>*****************************</echo>
+ </target>
+
+ <!-- Get the files from the Wrapper project. -->
+ <target name="get-wrapper-test" depends="init" unless="wrapper.dist.name">
+ <echo>**********************************************************</echo>
+ <echo>* A prebuilt version of the Wrapper does not yet exist</echo>
+ <echo>* for the ${os.name} platform. You will have to download</echo>
+ <echo>* the source from http://wrapper.tanukisoftware.org and</echo>
+ <echo>* try compiling it for ${os.name} platform. The resulting</echo>
+ <echo>* distribution should then be placed into the</echo>
+ <echo>* ${repo.dir}/wrapper directory.</echo>
+ <echo>**********************************************************</echo>
+ <fail message="A prebuilt version of the Wrapper does not exist for the ${os.name} platform"/>
+ </target>
+ <target name="get-wrapper-windows" if="is.Windows">
+ <mkdir dir="${repo.dir}/wrapper"/>
+ <get src="http://telia.dl.sourceforge.net/sourceforge/wrapper/${wrapper.dist.name}.zip"
+ dest="${repo.dir}/wrapper/${wrapper.dist.name}.zip"
+ verbose="true"
+ usetimestamp="true"/>
+ <unzip src="${repo.dir}/wrapper/${wrapper.dist.name}.zip" dest="${repo.dir}/wrapper"/>
+ <copy file="${repo.dir}/wrapper/${wrapper.dist.name}/bin/Wrapper.exe" todir="${repo.dir}/wrapper/bin"/>
+ <copy file="${repo.dir}/wrapper/${wrapper.dist.name}/lib/Wrapper.dll" todir="${repo.dir}/wrapper/bin"/>
+ <copy file="${repo.dir}/wrapper/${wrapper.dist.name}/lib/wrapper.jar" todir="${repo.dir}/wrapper/bin"/>
+ </target>
+ <target name="get-wrapper-unix" if="is.Unix">
+ <mkdir dir="${repo.dir}/wrapper"/>
+ <get src="http://telia.dl.sourceforge.net/sourceforge/wrapper/${wrapper.dist.name}.zip"
+ dest="${repo.dir}/wrapper/${wrapper.dist.name}.zip"
+ verbose="true"
+ usetimestamp="true"/>
+ <gunzip src="${repo.dir}/wrapper/${wrapper.dist.name}.tar.gz" dest="${repo.dir}/wrapper"/>
+ <untar src="${repo.dir}/wrapper/${wrapper.dist.name}.tar" dest="${repo.dir}/wrapper"/>
+ <copy file="${repo.dir}/wrapper/${wrapper.dist.name}/bin/wrapper" todir="${repo.dir}/wrapper/bin"/>
+ <copy file="${repo.dir}/wrapper/${wrapper.dist.name}/bin/realpath" todir="${repo.dir}/wrapper/bin"/>
+ <copy file="${repo.dir}/wrapper/${wrapper.dist.name}/lib/libwrapper.so" todir="${repo.dir}/wrapper/bin"/>
+ <copy file="${repo.dir}/wrapper/${wrapper.dist.name}/lib/wrapper.jar" todir="${repo.dir}/wrapper/bin"/>
+ </target>
+ <target name="get-wrapper"
+ depends="get-wrapper-test, get-wrapper-windows, get-wrapper-unix"
+ description="Get the Wrapper distribution from SourceForge.">
+ <mkdir dir="${repo.dir}/wrapper"/>
+ </target>
+
+ <target name="dist-lite-wrapper-windows" depends="dist-lite" if="wrapper.present.Windows">
+ <copy file="${repo.dir}/wrapper/bin/Wrapper.exe" todir="${bin.dist.bin}"/>
+ <copy file="${repo.dir}/wrapper/bin/Wrapper.dll" todir="${bin.dist.bin}"/>
+
+ <copy file="${script.dir}/Phoenix.bat" todir="${bin.dist.bin}"/>
+ <copy file="${script.dir}/InstallPhoenix-NT.bat" todir="${bin.dist.bin}"/>
+ <copy file="${script.dir}/UninstallPhoenix-NT.bat" todir="${bin.dist.bin}"/>
+ </target>
+ <target name="dist-lite-wrapper-unix" depends="dist-lite" if="wrapper.present.Unix">
+ <copy file="${repo.dir}/wrapper/bin/wrapper" todir="${bin.dist.bin}"/>
+ <copy file="${repo.dir}/wrapper/bin/realpath" todir="${bin.dist.bin}"/>
+ <copy file="${repo.dir}/wrapper/bin/libwrapper.so" todir="${bin.dist.bin}"/>
+
+ <copy file="${phoenix-wrapper.sh}" tofile="${bin.dist.bin}/phoenix-wrapper.sh"/>
+ </target>
+ <target name="dist-lite-wrapper" depends="dist-lite-wrapper-windows, dist-lite-wrapper-unix"
+ if="wrapper.present"
+ description="generates the Phoenix binary distribution without the javadocs and with wrapper">
- <target name="all" depends="main, site-all" description="generates the Phoenix distribution"/>
-
- <!-- Help on usage -->
- <target name="usage">
- <echo message="Use the -projecthelp option instead"/>
+ <copy file="${wrapper.jar}" todir="${bin.dist.bin}"/>
+ <copy file="${conf.dir}/wrapper.conf" todir="${bin.dist.conf}"/>
+ <fixcrlf srcdir="${bin.dist.conf}" includes="wrapper.conf" eol="lf"/>
+
+ <fixcrlf srcdir="${bin.dist.dir}" includes="**/*.bat" eol="crlf"/>
+ <fixcrlf srcdir="${bin.dist.dir}" includes="**/*.sh" eol="lf"/>
+ <chmod file="${bin.dist.bin}/*.sh" perm="u+x"/>
+ <chmod file="${bin.dist.bin}/*.bat" perm="u-x"/>
</target>
- <target name="help" depends="usage"/>
+
- <!-- Check requirements of environment -->
- <target name="check-mx4j">
+ <!-- =================================================================== -->
+ <!-- JMX Tasks. -->
+ <!-- =================================================================== -->
+ <target name="check-mx4j-init" depends="init">
<available property="mx4j.present" classname="mx4j.util.StandardMBeanProxy">
<classpath refid="project.class.path"/>
</available>
- <antcall target="check-mx4j2"/>
</target>
- <target name="check-mx4j2" unless="mx4j.present">
+ <target name="check-mx4j" depends="check-mx4j-init" unless="mx4j.present">
<echo>**************************</echo>
<echo>* Please execute target *</echo>
<echo>* 'get-mx4j' in the main *</echo>
- <echo>* target.xml build file *</echo>
+ <echo>* build.xml build file *</echo>
<echo>* to download one and *</echo>
<echo>* a half Mb of MX4J *</echo>
<echo>**************************</echo>
<fail message="MX4J needed. See above."/>
</target>
-
- <!-- Check requirements of environment -->
- <target name="check-environment" depends="check-mx4j">
- <available property="xerces.present" type="file" file="${xerces.jar}"/>
- <available property="servlet.present" classname="javax.servlet.Servlet">
- <classpath refid="project.class.path"/>
- </available>
- <available property="wrapper.present" classname="org.tanukisoftware.wrapper.WrapperManager">
- <classpath refid="project.class.path"/>
- </available>
- <available property="beanshell.present" classname="bsh.util.JConsole">
- <classpath refid="project.class.path"/>
- </available>
- </target>
-
+
<!-- Get the jars from the MX4J project. -->
<!-- For licensing reasons, we are unable to put these Jars in our CVS or source distributions. -->
<target name="get-mx4j" description="Get the MX4J distribution from SourceForge.">
@@ -184,6 +328,41 @@
<gunzip src="${repo.dir}/mx4j/mx4j.tar.gz" dest="${repo.dir}/mx4j"/>
<untar src="${repo.dir}/mx4j/mx4j.tar" dest="${repo.dir}/mx4j"/>
</target>
+
+
+
+
+ <!-- Main target -->
+ <target name="main" depends="dist-lite"
+ description="generates the Phoenix distribution without the javadocs"/>
+
+ <target name="rebuild" description="Rebuilds Phoenix">
+ <antcall target="clean" inheritall="false"/>
+ <antcall target="main" inheritall="false"/>
+ <antcall target="test" inheritall="false"/>
+ </target>
+
+ <target name="all" depends="main, site-all" description="generates the Phoenix distribution"/>
+
+ <!-- Help on usage -->
+ <target name="usage">
+ <echo message="Use the -projecthelp option instead"/>
+ </target>
+ <target name="help" depends="usage"/>
+
+
+ <!-- Check requirements of environment -->
+ <target name="check-environment" depends="check-mx4j, check-wrapper">
+ <available property="xerces.present" type="file" file="${xerces.jar}"/>
+ <available property="servlet.present" classname="javax.servlet.Servlet">
+ <classpath refid="project.class.path"/>
+ </available>
+ <available property="beanshell.present" classname="bsh.util.JConsole">
+ <classpath refid="project.class.path"/>
+ </available>
+ </target>
+
+
<!-- Get the jars from the Beanshell project. -->
<!-- For licensing reasons, we are unable to put these Jars in our CVS or source distributions. -->
@@ -553,21 +732,6 @@
</target>
<!-- Create the lite build -->
- <target name="dist-lite-wrapper" depends="dist-lite" if="wrapper.present"
- description="generates the Phoenix binary distribution without the javadocs and with wrapper">
-
- <!-- Wrapper filters -->
- <filter token="app.name" value="phoenix"/>
- <filter token="app.long.name" value="Phoenix Application Server"/>
-
- <copy file="${wrapper.jar}" todir="${bin.dist.bin}"/>
- <copy file="${wrapper.exe}" todir="${bin.dist.bin}"/>
- <copy file="${wrapper.dll}" todir="${bin.dist.bin}"/>
-
- <chmod file="${bin.dist.bin}/wrapper" perm="u+x"/>
- <copy file="${conf.dir}/wrapper.conf" todir="${bin.dist.conf}"/>
- <fixcrlf srcdir="${bin.dist.conf}" includes="wrapper.conf" eol="lf"/>
- </target>
<target name="install"
depends="dist-lite-wrapper,install-check-phoenix"
@@ -711,9 +875,34 @@
</target>
<!-- Completely build all dists -->
- <target name="dist" depends="site-all, announcement" description="generates the Phoenix distribution">
+ <target name="dist-src" depends="site-all, announcement">
+ <mkdir dir="${dist.base}"/>
+ <delete dir="${dist.name}"/>
+ <antcall target="src-dist">
+ <param name="src.dist.dir" value="${dist.name}"/>
+ </antcall>
+
+ <zip zipfile="${dist.base}/${dist.name}-src.zip"
+ basedir="${dist.name}/.."
+ includes="${dist.name}/**"/>
+
+ <tar longfile="gnu" tarfile="${dist.base}/${dist.name}-src.tar">
+ <tarfileset dir="${dist.name}/.." username="avalon" group="avalon">
+ <include name="${dist.name}/**"/>
+ </tarfileset>
+ </tar>
+
+ <gzip zipfile="${dist.base}/${dist.name}-src.tar.gz"
+ src="${dist.base}/${dist.name}-src.tar"/>
+
+ <delete file="${dist.base}/${dist.name}-src.tar"/>
+ <delete dir="${dist.name}"/>
+ </target>
+
+ <target name="dist-bin" depends="dist-src">
<mkdir dir="${dist.base}"/>
+ <delete dir="${dist.name}"/>
<antcall target="bin-dist">
<param name="bin.dist.dir" value="${dist.name}"/>
@@ -753,28 +942,68 @@
<delete file="${dist.base}/${dist.name}-bin.tar"/>
- <delete dir="${dist.name}"/>
-
- <antcall target="src-dist">
- <param name="src.dist.dir" value="${dist.name}"/>
- </antcall>
-
- <zip zipfile="${dist.base}/${dist.name}-src.zip"
- basedir="${dist.name}/.."
- includes="${dist.name}/**"/>
-
- <tar longfile="gnu" tarfile="${dist.base}/${dist.name}-src.tar">
- <tarfileset dir="${dist.name}/.." username="avalon" group="avalon">
- <include name="${dist.name}/**"/>
+ <!-- Do not delete the temp dir yet as it is needed by the platform specific builds. -->
+ </target>
+
+ <target name="dist-wrapper-windows" depends="dist-bin, check-wrapper" if="wrapper.present.Windows">
+ <copy todir="${dist.name.wrapper}">
+ <fileset dir="${dist.name}"/>
+ </copy>
+
+ <copy file="${repo.dir}/wrapper/bin/Wrapper.exe" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${repo.dir}/wrapper/bin/Wrapper.dll" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${wrapper.jar}" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${conf.dir}/wrapper.conf" todir="${dist.name.wrapper}/conf"/>
+
+ <copy file="${script.dir}/Phoenix.bat" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${script.dir}/InstallPhoenix-NT.bat" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${script.dir}/UninstallPhoenix-NT.bat" todir="${dist.name.wrapper}/bin"/>
+
+ <zip zipfile="${dist.base}/${dist.name.wrapper}-bin.zip">
+ <fileset dir="${dist.name.wrapper}/..">
+ <include name="${dist.name.wrapper}/**"/>
+ <exclude name="${dist.name.wrapper}/lib/bsh*.jar"/>
+ </fileset>
+ </zip>
+
+ <delete dir="${dist.name.wrapper}"/>
+ </target>
+ <target name="dist-wrapper-unix" depends="dist-bin, check-wrapper" if="wrapper.present.Unix">
+ <copy todir="${dist.name.wrapper}">
+ <fileset dir="${dist.name}"/>
+ </copy>
+
+ <copy file="${repo.dir}/wrapper/bin/wrapper" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${repo.dir}/wrapper/bin/realpath" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${repo.dir}/wrapper/bin/libwrapper.so" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${wrapper.jar}" todir="${dist.name.wrapper}/bin"/>
+ <copy file="${conf.dir}/wrapper.conf" todir="${dist.name.wrapper}/conf"/>
+
+ <copy file="${phoenix-wrapper.sh}" todir="${dist.name.wrapper}/bin/phoenix-wrapper.sh"/>
+
+ <tar longfile="gnu" tarfile="${dist.base}/${dist.name.wrapper}-bin.tar">
+ <tarfileset dir="${dist.name.wrapper}/.." mode="755" username="avalon" group="avalon">
+ <include name="${dist.name.wrapper}/bin/*.sh"/>
+ <include name="${dist.name.wrapper}/bin/wrapper"/>
+ <include name="${dist.name.wrapper}/bin/realpath"/>
+ </tarfileset>
+ <tarfileset dir="${dist.name.wrapper}/.." username="avalon" group="avalon">
+ <include name="${dist.name.wrapper}/**"/>
+ <exclude name="${dist.name.wrapper}/bin/*.sh"/>
+ <exclude name="${dist.name.wrapper}/lib/bsh*.jar"/>
</tarfileset>
</tar>
- <gzip zipfile="${dist.base}/${dist.name}-src.tar.gz"
- src="${dist.base}/${dist.name}-src.tar"/>
+ <gzip zipfile="${dist.base}/${dist.name.wrapper}-bin.tar.gz"
+ src="${dist.base}/${dist.name.wrapper}-bin.tar"/>
- <delete file="${dist.base}/${dist.name}-src.tar"/>
+ <delete file="${dist.base}/${dist.name.wrapper}-bin.tar"/>
+ <delete dir="${dist.name.wrapper}"/>
+ </target>
+ <target name="dist" depends="dist-wrapper-windows, dist-wrapper-unix"
+ description="generates the Phoenix distribution">
+
<delete dir="${dist.name}"/>
-
</target>
<!-- Makes the Phoneix Development Kit -->
1.1 avalon-phoenix/src/script/InstallPhoenix-NT.bat
Index: InstallPhoenix-NT.bat
===================================================================
@echo off
rem
rem Find the application home.
rem
if "%OS%"=="Windows_NT" goto nt
echo This is not NT, so please edit this script and set _APP_HOME manually
set _APP_HOME=..
goto conf
:nt
rem %~dp0 is name of current script under NT
set _APP_HOME=%~dp0
rem : operator works similar to make : operator
set _APP_HOME=%_APP_HOME:\bin\=%
rem
rem Find the wrapper.conf
rem
:conf
set _WRAPPER_CONF="%~f1"
if not %_WRAPPER_CONF%=="" goto startup
set _WRAPPER_CONF="%_APP_HOME%\conf\wrapper.conf"
rem
rem Run the application.
rem At runtime, the current directory will be that of Wrapper.exe
rem
:startup
"%_APP_HOME%\bin\Wrapper.exe" -i %_WRAPPER_CONF%
if not errorlevel 1 goto end
pause
:end
set _APP_HOME=
set _WRAPPER_CONF=
1.1 avalon-phoenix/src/script/phoenix-wrapper.bash
Index: phoenix-wrapper.bash
===================================================================
#! /bin/bash
#
# Skeleton bash script suitable for starting and stopping
# wrapped Java apps on the Linux platform.
#
# This script expects to find the 'realpath' executable
# in the same directory.
#
#-----------------------------------------------------------------------------
# These settings can be modified to fit the needs of your application
# Application
APP_NAME="phoenix"
APP_LONG_NAME="Phoenix Application Server"
# Wrapper
WRAPPER_CMD="./wrapper"
WRAPPER_CONF="../conf/wrapper.conf"
# Priority (see the start() method if you want to use this)
PRIORITY=
# Do not modify anything beyond this point
#-----------------------------------------------------------------------------
# Get to the actual location of this script
SCRIPT_DIR=`dirname $0`
SCRIPT=`$SCRIPT_DIR/realpath $0`
cd `dirname $SCRIPT`
# Find pidof.
PIDOF="/bin/pidof"
if [ ! -x $PIDOF ]
then
PIDOF="/sbin/pidof"
if [ ! -x $PIDOF ]
then
echo "Cannot find 'pidof' in /bin or /sbin."
echo "This script requires 'pidof' to run."
exit 1
fi
fi
console() {
echo "Running $APP_LONG_NAME..."
pid=`$PIDOF $APP_NAME`
if [ -z $pid ]
then
# If you wanted to specify the priority with which
# your app runs, you could use nice here:
# exec -a $APP_NAME nice -$PRIORITY $WRAPPER_CMD $WRAPPER_CONF
# See "man nice" for more details.
exec -a $APP_NAME $WRAPPER_CMD $WRAPPER_CONF
else
echo "$APP_LONG_NAME is already running."
exit 1
fi
}
start() {
echo "Starting $APP_LONG_NAME..."
pid=`$PIDOF $APP_NAME`
if [ -z $pid ]
then
# If you wanted to specify the priority with which
# your app runs, you could use nice here:
# exec -a $APP_NAME nice -$PRIORITY $WRAPPER_CMD $WRAPPER_CONF wrapper.daemonize=TRUE
# See "man nice" for more details.
exec -a $APP_NAME $WRAPPER_CMD $WRAPPER_CONF wrapper.daemonize=TRUE
else
echo "$APP_LONG_NAME is already running."
exit 1
fi
}
stop() {
echo "Stopping $APP_LONG_NAME..."
pid=`$PIDOF $APP_NAME`
if [ -z $pid ]
then
echo "$APP_LONG_NAME was not running."
else
kill $pid
sleep 6
pid=`$PIDOF $APP_NAME`
if [ ! -z $pid ]
then
kill -9 $pid
fi
pid=`$PIDOF $APP_NAME`
if [ ! -z $pid ]
then
echo "Failed to stop $APP_LONG_NAME."
else
echo "Stopped $APP_LONG_NAME."
fi
fi
}
dump() {
echo "Dumping $APP_LONG_NAME..."
pid=`$PIDOF $APP_NAME`
if [ -z $pid ]
then
echo "$APP_LONG_NAME was not running."
else
kill -3 $pid
if [ $? -ne 0 ]
then
echo "Failed to dump $APP_LONG_NAME."
else
echo "Dumped $APP_LONG_NAME."
fi
fi
}
case "$1" in
'console')
console
;;
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
'dump')
dump
;;
*)
echo "Usage: $0 { console | start | stop | restart | dump }"
exit 1
;;
esac
exit 0
1.1 avalon-phoenix/src/script/phoenix-wrapper.sh
Index: phoenix-wrapper.sh
===================================================================
#! /bin/sh
#
# Skeleton sh script suitable for starting and stopping
# wrapped Java apps on the Solaris platform.
#
# This script expects to find the 'realpath' executable
# in the same directory.
#
# Make sure that PIDFILE points to the correct location,
# if you have changed the default location set in the
# wrapper configuration file.
#
#-----------------------------------------------------------------------------
# These settings can be modified to fit the needs of your application
# Application
APP_NAME="phoenix"
APP_LONG_NAME="Phoenix Application Server"
# Wrapper
WRAPPER_CMD="./wrapper"
WRAPPER_CONF="../conf/wrapper.conf"
# Priority (see the start() method if you want to use this)
PRIORITY=
# Do not modify anything beyond this point
#-----------------------------------------------------------------------------
# Get to the actual location of this script
SCRIPT_DIR=`dirname $0`
SCRIPT=`$SCRIPT_DIR/realpath $0`
cd `dirname $SCRIPT`
# Process ID
PIDDIR="/var/run"
PIDFILE="$PIDDIR/$APP_NAME.pid"
pid=""
getpid() {
if [ -f $PIDFILE ]
then
if [ -r $PIDFILE ]
then
pid=`cat $PIDFILE`
if [ "X$pid" != "X" ]
then
# Verify that a process with this pid is still running.
pid=`/usr/bin/ps -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
if [ "X$pid" = "X" ]
then
# This is a stale pid file.
rm -f $PIDFILE
echo "Removed stale pid file: $PIDFILE"
fi
fi
else
echo "Cannot read $PIDFILE."
rm -f $PIDFILE
exit 1
fi
fi
}
console() {
echo "Running $APP_LONG_NAME..."
getpid
if [ "X$pid" = "X" ]
then
# If you wanted to specify the priority with which
# your app runs, you could use nice here:
# exec nice -$PRIORITY $WRAPPER_CMD $WRAPPER_CONF wrapper.pidfile=$PIDFILE
# See "man nice" for more details.
exec $WRAPPER_CMD $WRAPPER_CONF wrapper.pidfile=$PIDFILE
else
echo "$APP_LONG_NAME is already running."
exit 1
fi
}
start() {
echo "Starting $APP_LONG_NAME..."
getpid
if [ "X$pid" = "X" ]
then
# If you wanted to specify the priority with which
# your app runs, you could use nice here:
# exec nice -$PRIORITY $WRAPPER_CMD $WRAPPER_CONF wrapper.pidfile=$PIDFILE wrapper.daemonize=TRUE
# See "man nice" for more details.
exec $WRAPPER_CMD $WRAPPER_CONF wrapper.pidfile=$PIDFILE wrapper.daemonize=TRUE
else
echo "$APP_LONG_NAME is already running."
exit 1
fi
}
stop() {
echo "Stopping $APP_LONG_NAME..."
getpid
if [ "X$pid" = "X" ]
then
echo "$APP_LONG_NAME was not running."
else
kill $pid
sleep 6
pid=`/usr/bin/ps -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
if [ "X$pid" != "X" ]
then
# SIGTERM didn't work, send SIGKILL.
kill -9 $pid
rm -f $PIDFILE
pid=`/usr/bin/ps -p $pid | grep $pid | grep -v grep | awk '{print $1}' | tail -1`
fi
if [ "X$pid" != "X" ]
then
echo "Failed to stop $APP_LONG_NAME."
exit 1
else
echo "Stopped $APP_LONG_NAME."
fi
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')
console
;;
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
'dump')
dump
;;
*)
echo "Usage: $0 { console | start | stop | restart | dump }"
exit 1
;;
esac
exit 0
1.1 avalon-phoenix/src/script/Phoenix.bat
Index: Phoenix.bat
===================================================================
@echo off
rem
rem Find the application home.
rem
if "%OS%"=="Windows_NT" goto nt
echo This is not NT, so please edit this script and set _APP_HOME manually
set _APP_HOME=..
goto conf
:nt
rem %~dp0 is name of current script under NT
set _APP_HOME=%~dp0
rem : operator works similar to make : operator
set _APP_HOME=%_APP_HOME:\bin\=%
rem
rem Find the wrapper.conf
rem
:conf
set _WRAPPER_CONF="%~f1"
if not %_WRAPPER_CONF%=="" goto startup
set _WRAPPER_CONF="%_APP_HOME%\conf\wrapper.conf"
rem
rem Run the application.
rem At runtime, the current directory will be that of Wrapper.exe
rem
:startup
"%_APP_HOME%\bin\Wrapper.exe" -c %_WRAPPER_CONF%
if not errorlevel 1 goto end
pause
:end
set _APP_HOME=
set _WRAPPER_CONF=
1.1 avalon-phoenix/src/script/UninstallPhoenix-NT.bat
Index: UninstallPhoenix-NT.bat
===================================================================
@echo off
rem
rem Find the application home.
rem
if "%OS%"=="Windows_NT" goto nt
echo This is not NT, so please edit this script and set _APP_HOME manually
set _APP_HOME=..
goto conf
:nt
rem %~dp0 is name of current script under NT
set _APP_HOME=%~dp0
rem : operator works similar to make : operator
set _APP_HOME=%_APP_HOME:\bin\=%
rem
rem Find the wrapper.conf
rem
:conf
set _WRAPPER_CONF="%~f1"
if not %_WRAPPER_CONF%=="" goto startup
set _WRAPPER_CONF="%_APP_HOME%\conf\wrapper.conf"
rem
rem Run the application.
rem At runtime, the current directory will be that of Wrapper.exe
rem
:startup
"%_APP_HOME%\bin\Wrapper.exe" -r %_WRAPPER_CONF%
if not errorlevel 1 goto end
pause
:end
set _APP_HOME=
set _WRAPPER_CONF=
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org
Re: Updated the Phoenix build to produce Wrapper enabled release
targets.
Posted by Johan Sjöberg <jo...@avaintec.com>.
Leif Mortenson wrote:
> Peter Donald wrote:
> But as is, you should now be able to run "ant get-wrapper" and then "ant
> dist" on Windows,
> Linux, Solaris, AIX, or HP-UX and get a platform specific release with
> the Java Service
> Wrapper fully integrated. For other platforms, you will have to run
> the Wrapper build from
> src. Please let me know of any problems encountered doing so and I'll
> get the fixes into
> the Wrapper release.
Great work Leif! I'll try to test the build ASAP, but from just looking
at build.xml it looks very good. You obviously have no problem building
the Wrapper on Solaris anymore... great!
//
Johan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org
Updated the Phoenix build to produce Wrapper enabled release targets.
Posted by Leif Mortenson <le...@tanukisoftware.com>.
Peter Donald wrote:
>Would it be possible for us to download the wrapper distribution and get these
>files from within that distribution rather than storing them in Avalon CVS?
>If need be we can always do filter copying to change the internal strings. It
>will just make it easier to evolve with different versions of wrapper.
>
Still doing some final testing with the build on Linux. Will have that
done tonight.
But as is, you should now be able to run "ant get-wrapper" and then "ant
dist" on Windows,
Linux, Solaris, AIX, or HP-UX and get a platform specific release with
the Java Service
Wrapper fully integrated. For other platforms, you will have to run
the Wrapper build from
src. Please let me know of any problems encountered doing so and I'll
get the fixes into
the Wrapper release.
It is also possible to run 'ant dist-lite-wrapper' for local development
builds which include
the wrapper.
These new builds now include scripts which can be used to launch the
Wrapper without
having to know anything about the Wrapper or its command line syntax.
Please see http://wrapper.tanukisoftware.org for more info on the Java
Service Wrapper.
Cheers,
Leif
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org
Re: cvs commit: avalon-phoenix/src/script InstallPhoenix-NT.bat phoenix-wrapper.bash phoenix-wrapper.sh Phoenix.bat UninstallPhoenix-NT.bat
Posted by Peter Donald <pe...@realityforge.org>.
On Mon, 10 Mar 2003 19:09, leif@apache.org wrote:
> leif 2003/03/10 00:09:05
>
> Modified: . build.xml
> Added: src/script InstallPhoenix-NT.bat phoenix-wrapper.bash
> phoenix-wrapper.sh Phoenix.bat
> UninstallPhoenix-NT.bat
> Log:
> Get platform dependent builds which include the Wrapper working.
Would it be possible for us to download the wrapper distribution and get these
files from within that distribution rather than storing them in Avalon CVS?
If need be we can always do filter copying to change the internal strings. It
will just make it easier to evolve with different versions of wrapper.
--
Cheers,
Peter Donald
*----------------------------------------------------*
| We must become the change we want to see. - Gandhi |
*----------------------------------------------------*
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org