#!/bin/sh
#
#  Copyright 2002,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.
#

if [ -z "$FOREHEAD_CONF" ] ; then
  FOREHEAD_CONF=${JELLY_HOME}/bin/forehead.conf 
fi

$JAVA_HOME/bin/java -classpath ${CLASSPATH}:${JELLY_HOME}/lib/forehead-1.0-beta-5.jar \
  -Dforehead.conf.file=${FOREHEAD_CONF} \
  -Djelly.home=${JELLY_HOME} \
  -Dtools.jar=${JAVA_HOME}/lib/tools.jar \
  ${JELLY_OPTS} \
  com.werken.forehead.Forehead $*

