#!/bin/sh # Copyright 1999-2004 The Apache Software Foundation # # Licensed 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. # # ----------------------------------------------------------------------------- # # The file was modified to run on FreeBSD # # ----------------------------------------------------------------------------- # Cocoon Unix Shell Script # # $Id: cocoon.sh 389028 2006-03-27 06:21:40Z rgoers $ # $FreeBSD$ # ----------------------------------------------------------------------------- # Configuration variables # # COCOON_HOME # The root of the Cocoon distribution # # COCOON_WEBAPP_HOME # The root of the Cocoon web application # # COCOON_LIB # Folder containing all the library files needed by the Cocoon CLI # # JAVA_HOME # Home of Java installation. # # JAVA_OPTIONS # Extra options to pass to the JVM # # JAVA_DEBUG_ARGS # The command line arguments for the internal JVM debugger # # JAVA_PROFILE_ARGS # The command line arguments for the internal JVM profiler # # JETTY_PORT # Override the default port for Jetty # # JETTY_ADMIN_PORT # The port where the jetty web administration should bind # # LOADER_LIB # The classpath where to lookup the Loader class, defaults to # ${COCOON_HOME}/tools/loader # # CLI_CLASSPATH # The additional classpath for cli and precompile, defaults to # lib/core/servlet_2_2.jar:$COCOON_WEBAPP_HOME/WEB-INF/classes # usage() { echo "Usage: $0 (action)" echo "actions:" echo " cli Run Cocoon from the command line" echo " precompile Crawl your webapp to compile all XSP files (requires the xsp block)" echo " servlet Run Cocoon in a servlet container (default)" echo " servlet-admin Run Cocoon in a servlet container and turn on container web administration" echo " servlet-debug Run Cocoon in a servlet container and turn on JVM remote debug" echo " servlet-profile Run Cocoon in a servlet container and turn on JVM profiling" exit 1 } # ----- Handle action parameter ------------------------------------------------ DEFAULT_ACTION="servlet" ACTION="$1" if [ -n "$ACTION" ] then shift else ACTION=$DEFAULT_ACTION echo "$0: executing default action '$ACTION', use -h to see other actions" fi ARGS="$*" # ----- Verify and Set Required Environment Variables ------------------------- if [ "$JAVA_HOME" = "" ] ; then JAVA_HOME="%%JAVA_HOME%%" fi if [ "$JAVA_OPTIONS" = "" ] ; then JAVA_OPTIONS='-Xms32M -Xmx512M -Dorg.apache.cocoon.settings=cocoon.properties' fi if [ "$COCOON_HOME" = "" ] ; then COCOON_HOME="%%APP_HOME%%" fi if [ "$COCOON_WEBAPP_HOME" = "" ] ; then STANDALONE_WEBAPP=../webapp if [ -d $STANDALONE_WEBAPP ] ; then # for standalone-webapp setup COCOON_WEBAPP_HOME=$STANDALONE_WEBAPP else # when in the build environment COCOON_WEBAPP_HOME="$COCOON_HOME/webapp" fi fi echo "$0: using $COCOON_WEBAPP_HOME as the webapp directory" if [ "$COCOON_LIB" = "" ] ; then COCOON_LIB="$COCOON_WEBAPP_HOME/WEB-INF/lib" fi if [ "$JETTY_PORT" = "" ] ; then JETTY_PORT='8888' fi if [ "$JETTY_ADMIN_PORT" = "" ] ; then JETTY_ADMIN_PORT='8889' fi if [ "$JAVA_DEBUG_ARGS" = "" ] ; then JAVA_DEBUG_ARGS='-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n' fi if [ "$JAVA_PROFILE_ARGS" = "" ] ; then JAVA_PROFILE_ARGS='-Xrunhprof:heap=all,cpu=samples,thread=y,depth=3' fi # ----- Set platform specific variables PATHSEP=":"; case "`uname`" in CYGWIN*) PATHSEP=";" JAVA_HOME=`cygpath --unix "$JAVA_HOME"`;; esac # ----- Set Local Variables ( used to minimize cut/paste) --------------------- JAVA="exec $JAVA_HOME/bin/java" ENDORSED_LIBS="$COCOON_HOME/lib/endorsed" ENDORSED="-Djava.endorsed.dirs=$ENDORSED_LIBS" PARSER=-Dorg.xml.sax.parser=org.apache.xerces.parsers.SAXParser LOADER=Loader if [ "$LOADER_LIB" = "" ] ; then LOADER_LIB="${COCOON_HOME}/tools/loader" fi CLI="-Dloader.main.class=org.apache.cocoon.Main" CLI_LIBRARIES="-Dloader.jar.repositories=$COCOON_LIB" if [ "$CLI_CLASSPATH" = "" ] ; then CLI_CLASSPATH="lib/core/servlet_2_2.jar:$COCOON_WEBAPP_HOME/WEB-INF/classes" fi CLI_VERBOSE="-Dloader.verbose=false" CLI_PROPERTIES="$CLI_LIBRARIES -Dloader.class.path=$CLI_CLASSPATH $CLI_VERBOSE" PRECOMPILE=-Dloader.main.class=org.apache.cocoon.bean.XSPPrecompileWrapper JETTY=-Dloader.main.class=org.mortbay.jetty.Server JETTY_CONF="$COCOON_HOME/tools/jetty/conf" JETTY_MAIN="$JETTY_CONF/main.xml" JETTY_ADMIN="$JETTY_CONF/admin.xml" JETTY_WEBAPP="-Dwebapp=$COCOON_WEBAPP_HOME" JETTY_HOME="-Dhome=$COCOON_HOME" JETTY_PORT_ARGS="-Djetty.port=$JETTY_PORT" JETTY_ADMIN_ARGS="-Djetty.admin.port=$JETTY_ADMIN_PORT" JETTY_LIBRARIES="-Dloader.jar.repositories=$COCOON_HOME/tools/jetty/lib${PATHSEP}${ENDORSED_LIBS}" # ----- Do the action ---------------------------------------------------------- case "$ACTION" in cli) $JAVA $JAVA_OPTIONS -cp $LOADER_LIB $ENDORSED $CLI_PROPERTIES $CLI $LOADER $ARGS ;; precompile) $JAVA $JAVA_OPTIONS -cp $LOADER_LIB $ENDORSED $CLI_PROPERTIES $PRECOMPILE $LOADER $ARGS ;; servlet) $JAVA $JAVA_OPTIONS -cp $LOADER_LIB $ENDORSED $PARSER $JETTY_PORT_ARGS $JETTY_LIBRARIES $JETTY_WEBAPP $JETTY_HOME $JETTY $LOADER $JETTY_MAIN ;; servlet-admin) $JAVA $JAVA_OPTIONS -cp $LOADER_LIB $ENDORSED $PARSER $JETTY_PORT_ARGS $JETTY_ADMIN_ARGS $JETTY_LIBRARIES $JETTY_WEBAPP $JETTY_HOME $JETTY $LOADER $JETTY_MAIN $JETTY_ADMIN ;; servlet-debug) $JAVA $JAVA_OPTIONS $JAVA_DEBUG_ARGS -cp $LOADER_LIB $ENDORSED $PARSER $JETTY_PORT_ARGS $JETTY_LIBRARIES $JETTY_WEBAPP $JETTY_HOME $JETTY $LOADER $JETTY_MAIN ;; servlet-profile) $JAVA $JAVA_OPTIONS $JAVA_PROFILE_ARGS -cp $LOADER_LIB $ENDORSED $PARSER $JETTY_ARGS $JETTY_LIBRARIES $JETTY_WEBAPP $JETTY_HOME $JETTY $LOADER $JETTY_MAIN ;; *) usage ;; esac exit 0