libreccm-legacy/tools/devel/etc/project5x.sh

306 lines
7.1 KiB
Bash
Executable File

#!/bin/sh
if [ "x$1" = "x" ] ; then
echo "ccm-devel-profile.sh <servername>"
return
else
SERVER=$1
fi
umask 002
not_in_path () {
# Check to see is the $value is already in the $path.
# Returns 0 (true) if not in the path and 1 (false) if it is.
#
# Example:
# not_in_path $PATH, /usr/bin && PATH=$PATH:/usr/bin
#
path=$1
value=$2
if [ "x$path" = "x" ]; then
return 0
else
if [ "$OSTYPE" = "solaris" ] && [ -x "/usr/xpg4/bin/grep" ]; then
GREP="/usr/xpg4/bin/grep"
else
GREP="grep"
fi
match=`echo $path | $GREP -c -E "(^|:)$value(:|\$)"`
if [ "$match" = "0" ]; then
return 0
else
return 1
fi
fi
}
if [ "x$JAVA_HOME" = "x" ]; then
JRE_DIRS="/opt/IBMJava2-131 /opt/IBMJava2-13 /usr/j2se /usr/java/jdk1.3.1 /usr/local/jdk1.3.1 /opt/jdk1.3.1 /usr/java /usr/local/java"
for i in $JRE_DIRS
do
if [ -d $i ]; then
JAVA_HOME=$i
break;
fi
done
if [ "x$JAVA_HOME" = "x" ]; then
echo "Cannot find suitable JDK 1.3.x installation"
echo "Looked in dirs:"
echo $JRE_DIRS
return
fi
unset JRE_DIRS
not_in_path "$PATH", "$JAVA_HOME/bin" && PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME PATH
fi
if [ "x$PG_JDBC2_LIB" = "x" ]; then
PG_JDBC2_LOCS="/usr/share/pgsql/java/rh-pgsql-jdbc2.jar /usr/share/pgsql/jdbc7.2dev-1.2.jar /usr/share/pgsql/pg73b1jdbc2.jar"
for i in $PG_JDBC2_LOCS
do
if [ -f $i ]; then
PG_JDBC2_LIB=$i
break;
fi
done
if [ "x$PG_JDBC2_LIB" = "x" ]; then
echo "Warning: Cannot find postgres jdbc2 library"
echo "Looked for: $PG_JDBC2_LOCS"
echo "Point PG_JDBC2_LIB to correct location if using PostgreSQL"
fi
unset PG_JDBC2_LOCS
export PG_JDBC2_LIB
fi
if [ "x$2" != "x" ]; then
USERNAME=$2
else
if [ "x$USER" != "x" ]; then
USERNAME=$USER
else
if [ "x$LOGNAME" != "x" ]; then
USERNAME=$LOGNAME
else
echo "cannot determine username"
return
fi
fi
fi
if [ ! -d "$CCM_DEVEL_ROOT" ]; then
echo "CCM_DEVEL_ROOT is not set or is not a directory: '${CCM_DEVEL_ROOT}'"
return
fi
CCM_DEV_HOME="$CCM_DEVEL_ROOT/dev/$USERNAME/$SERVER"
CCM_WEB_HOME="$CCM_DEVEL_ROOT/web/$USERNAME/$SERVER"
CCM_HOME="$CCM_DEV_HOME"
CCM_SERVLET_CONTAINER=resin
if [ ! -d $CCM_DEV_HOME ]; then
echo "Cannot find project $SERVER (directory $CCM_DEV_HOME does not exist)"
return
fi
RESIN_HOME=""
if [ -d /opt/resin/latest ]; then
RESIN_HOME=/opt/resin/latest
else
RESIN_HOME=`/bin/ls -d /opt/resin/* | sort -r | head -1`
fi
TOMCAT_HOME=""
if [ -d /usr/share/tomcat ]; then
TOMCAT_HOME=/usr/share/tomcat
fi
if [ "x$RESIN_HOME" = "x" ] && [ "x$TOMCAT_HOME" = "x" ] ; then
echo "Cannot find Resin install in /opt/resin/2.1.* or a Tomcat install in /usr/share/tomcat"
return
fi
not_in_path "$PATH", "$RESIN_HOME/bin" && PATH="$RESIN_HOME/bin:$PATH"
not_in_path "$PATH", "$TOMCAT_HOME/bin" && PATH="$TOMCAT_HOME/bin:$PATH"
export CCM_HOME CCM_DEV_HOME CCM_WEB_HOME RESIN_HOME TOMCAT_HOME
export PATH
export JAVA_LIB_HOME=/usr/share/java
not_in_path "$CLASSPATH", "$JAVA_LIB_HOME/junit.jar" && CLASSPATH="$JAVA_LIB_HOME/junit.jar:$CLASSPATH"
not_in_path "$CLASSPATH", "$JAVA_LIB_HOME/httpunit.jar" && CLASSPATH="$JAVA_LIB_HOME/httpunit.jar:$CLASSPATH"
JARS=""
JARS="$JARS $CCM_WEB_HOME/webapps/ccm/WEB-INF/lib/jaas.jar"
JARS="$JARS $CCM_WEB_HOME/webapps/ccm/WEB-INF/lib/jce.jar"
JARS="$JARS $CCM_WEB_HOME/webapps/ccm/WEB-INF/lib/sunjce_provider.jar"
JARS="$JARS $CCM_WEB_HOME/webapps/ccm/WEB-INF/lib/xerces.jar"
JARS="$JARS $CCM_WEB_HOME/webapps/ccm/WEB-INF/lib/xalan.jar"
if [ "x$ORACLE_HOME" != "x" ]; then
JARS="$JARS $ORACLE_HOME/jdbc/lib/classes12.zip"
fi
if [ "x$PG_JDBC2_LIB" != "x" ]; then
JARS="$JARS $PG_JDBC2_LIB"
fi
if [ "x$OPTIT_HOME" != "x" ]; then
JARS="$JARS $OPTIT_HOME/lib/optit.jar"
fi
SERVER_CLASSPATH=
for i in $JARS ; do
SERVER_CLASSPATH=$SERVER_CLASSPATH:$i
done
export SERVER_CLASSPATH
RESIN_ARGS="$RESIN_ARGS_CUSTOM -conf $CCM_WEB_HOME/conf/resin.conf"
RESIN_ARGS="$RESIN_ARGS -pid $CCM_WEB_HOME/conf/resin.pid"
RESIN_ARGS="$RESIN_ARGS -stdout $CCM_WEB_HOME/logs/resin-stdout.log"
RESIN_ARGS="$RESIN_ARGS -stderr $CCM_WEB_HOME/logs/resin-stderr.log"
TOMCAT_ARGS="$TOMCAT_ARGS_CUSTOM -config $CCM_WEB_HOME/conf/server.xml"
JAVA_ARGS="-J-classic -J-Djava.compiler=NONE -J-Xrunoii:filter=$OPTIT_HOME/filters/Resin.oif -J-Xbootclasspath/a:$OPTIT_HOME/lib/oibcp.jar -J-verbosegc"
function cddev() {
cd "$CCM_DEV_HOME"
}
function cdweb() {
cd "$CCM_WEB_HOME"
}
function tailccm() {
(
cdweb;
tail -f logs/ccm.log
)
}
function taillogs() {
(
cdweb;
tail -f logs/*.log
)
}
function ccm-inst() {
(
cddev;
ant clean;
ant deploy
)
}
function ccm-start-resin() {
(
cd $RESIN_HOME/bin;
verify_classpath && (
CLASSPATH=$SERVER_CLASSPATH sh httpd.sh $* $RESIN_ARGS start
);
)
}
function ccm-start-tomcat4() {
(
verify_classpath && (
"$JAVA_HOME/bin/java" $JAVA_OPTS $CATALINA_OPTS \
-classpath "$SERVER_CLASSPATH:$TOMCAT_HOME/bin/bootstrap.jar:$JAVA_HOME/lib/tools.jar" \
-Djava.endorsed.dirs="$TOMCAT_HOME/bin:$TOMCAT_HOME/common/lib" \
-Dcatalina.base="$TOMCAT_HOME" \
-Dcatalina.home="$TOMCAT_HOME" \
org.apache.catalina.startup.Bootstrap "$@" $TOMCAT_ARGS start \
>> "$CCM_WEB_HOME/logs/catalina.out" 2>&1 &
);
)
}
function ccm-start() {
if [ "$CCM_SERVLET_CONTAINER" = "resin" ]; then
ccm-start-resin;
else
if [ "$CCM_SERVLET_CONTAINER" = "tomcat4" ]; then
ccm-start-tomcat4;
else
echo "CCM_SERVLET_CONTAINER must be either 'resin' or 'tomcat4'"
return 1
fi
fi
}
function ccm-stop-resin() {
(
cd $RESIN_HOME/bin ;
(
CLASSPATH=$SERVER_CLASSPATH sh httpd.sh $RESIN_ARGS stop
)
)
}
function ccm-stop-tomcat4() {
(
verify_classpath && (
"$JAVA_HOME/bin/java" $JAVA_OPTS $CATALINA_OPTS \
-classpath "$SERVER_CLASSPATH:$TOMCAT_HOME/bin/bootstrap.jar:$JAVA_HOME/lib/tools.jar" \
-Djava.endorsed.dirs="$TOMCAT_HOME/bin:$TOMCAT_HOME/common/lib" \
-Dcatalina.base="$TOMCAT_HOME" \
-Dcatalina.home="$TOMCAT_HOME" \
org.apache.catalina.startup.Bootstrap "$@" $TOMCAT_ARGS stop \
>> "$CCM_WEB_HOME/logs/catalina.out" 2>&1 &
);
)
}
function ccm-stop() {
if [ "$CCM_SERVLET_CONTAINER" = "resin" ]; then
ccm-stop-resin;
else
if [ "$CCM_SERVLET_CONTAINER" = "tomcat4" ]; then
ccm-stop-tomcat4;
else
echo "CCM_SERVLET_CONTAINER must be either 'resin' or 'tomcat4'"
return 1
fi
fi
}
function ccm-restart() {
ccm-stop;
sleep 10;
ccm-start
}
function ccm-start-optit() {
(
cd $RESIN_HOME/bin ;
verify_classpath && (
CLASSPATH=$SERVER_CLASSPATH sh httpd.sh $JAVA_ARGS $RESIN_ARGS start
)
)
}
verify_classpath () {
for i in $JARS ; do
if [ ! -f $i ] ; then
echo Cannot find $i
return 1
fi
done
return 0
}
unset not_in_path