libreccm-legacy/ccm-core/bin/ccm-hostinit

123 lines
4.2 KiB
Bash

#!/bin/bash
# This script is a wrapper for calling the ANT with hostint tasks.
# The ANT hostinit tasks replace some functions of the hostinit
# ccm command (ccm hostinit .....), implemented by
# com/arsdigita/packaging/Hostinit.java class
# Specifically it copies addon packages into an existing aplaws
# installation and checks for prerequisites and consistency condition.
# Variables for directories.
# The path are relative to the bin directory of the CCM installation. This
# means that this script has to be executed from the bin directory. If you
# want to use this script from another directory, or include it into your
# PATH, you have to adjust the paths.
CCM_LIB_DIR="../lib"
CCM_HOME_DIR="../.."
# echo "CCM_LIB_DIR is " ${CCM_LIB_DIR}
# echo "CCM_HOME_DIR is " ${CCM_HOME_DIR}
# We need CATALINA_HOME environment variable to access Tomcat's lib dir.
#if [[ -z "$CATALINA_HOME" ]] ; then
# echo CATALINE_HOME not set. Guessing ...
# if [ -f /etc/tomcat6/tomcat6.conf ]
# then
# . /etc/tomcat6/tomcat6.conf
# echo
# echo Using CATALINA_HOME = $CATALINA_HOME
# echo If this doesn\'t work use
# echo export CATALINA_HOME=/path/to/tomcat/installation
# echo to point us to the correct location.
# else
# echo
# echo ===================================================
# echo Environment variable CATALINA_HOME not set. We need
# echo to know the location of Tomcat\'s lib directory.
# echo So use
# echo export CATALINA_HOME=/path/to/tomcat/installation
# echo to point us to the correct location and run ccm
# echo again.
# echo ===================================================
# echo
# exit 1
# fi
#fi
#CATALINA_LIB_DIR="${CATALINA_HOME}/lib"
# We need CCM_REPO environment variable to access the source dir.
if [[ -z "$CCM_REPO" ]] ; then
echo CCM_REPO not set. Guessing ...
# If we are running Aplaws Appl Edition it is in base dir.
if [ -d ../../../../ccm-addons ]
then
#Convert to absolute path:
CCM_REPO=`cd ../../../../ccm-addons; pwd`
echo ===================================================
echo Using CCM_REPO = $CCM_REPO
echo If this doesn\'t work use
echo " export CCM_REPO=/path/to/repo "
echo to point us to the correct location and run
echo ccm-hostinit again or execute
echo " CCM_REPO=/path/to/repo ccm-hostinit [task] "
echo again
echo ===================================================
echo
else
echo
echo ===================================================
echo Environment variable CCM_REPO not set. We need
echo to know the location of the source repo directory.
echo So use
echo " export CCM_REPO=/path/to/repo "
echo to point us to the correct location and run
echo ccm-hostinit again or execute
echo " CCM_REPO=/path/to/repo ccm-hostinit [task] "
echo again
echo ===================================================
echo
exit 1
fi
fi
#CATALINA_LIB_DIR="${CATALINA_HOME}/lib"
# Script logic starts here
# echo "checking if all paths are correct..."
files=$(ls ${CCM_LIB_DIR}/ccm-core*.jar 2> /dev/null | wc -l)
if [ "$files" == "0" ]
then
echo "Error: CCM_LIB_DIR is invalid \(no ccm-core*.jar file\(s\) in CCM_LIB_DIR\)."
exit 1
fi
if [ ! -d ${CCM_HOME_DIR}/WEB-INF ]
then
echo "Error: CCM_HOME_DIR path is invalid \(no WEB-INF directory in CCM_HOME_DIR\)."
exit 1
fi
#if [ ! -f ${CATALINA_LIB_DIR}/catalina.jar ]
#then
# echo "Error: CATALINA_LIB_DIR is invalid \(no catalina.jar in CATALINA_LIB_DIR\)."
# exit 1
#fi
#Convert to absolute path:
CCM_HOME=`cd ${CCM_HOME_DIR}; pwd`
# echo "CCM_HOME_DIR: " ${CCM_HOME_DIR}
# echo "PARAMETER before shift: " "$@"
ANT_HOME_DIR="./libexec/ant"
ANT_HOME=`cd ${ANT_HOME_DIR}; pwd`
export ANT_HOME
# echo "ANT_HOME: " ${ANT_HOME}
# echo "Starting CCM-Tool..."
# java -cp ${CCM_LIB_DIR}/"*":${CATALINA_LIB_DIR}/"*" -Dccm.home=${CCM_HOME_DIR} "com.arsdigita.packaging.MasterTool" "$@"
TASK="$1"
# shift
shift
# echo "PARAMETER after shift: " "$@"
PACKAGES="$@" ${PACKAGES}
# echo "Packages: " ${PACKAGES}
exec libexec/ant/bin/ant ${TASK} -quiet -f libexec/build.xml -Dccm.home.dir=${CCM_HOME} -Dccm.repo.dir=${CCM_REPO} -Dccm.packages="${PACKAGES}"