OpenGrok revision 0ca9a2c194523c517c3aafe5758e217ac88d6baa
cd348e325366620fe047edcc849e3c9424828599Peter Bray#!/bin/sh
cd348e325366620fe047edcc849e3c9424828599Peter Bray#
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco# OpenGrok Wrapper (initial setup and cron job updating)
cd348e325366620fe047edcc849e3c9424828599Peter Bray# targeted against OpenSolaris + Debian , tomcat6 and glassfish
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray#
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Koscoerror() { echo " ERROR: $@" ; }
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Braywarning() { echo "WARNING: $@" ; }
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# `date +%Y-%m-%d-%H-%M`
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco#
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Usage
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray#
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter BrayUsage()
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray{
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo 1>&2
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo "Usage: ${0} <deploy|update|updateQuietly|updateConfiguration|usage>" 1>&2
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo "Optional env variables: "1>&2
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray echo "OPENGROK_CONFIGURATION - location of own config, see sample.env.conf" 1>&2
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo "e.g. $ OPENGROK_CONFIGURATION=/var/opengrok/myog.conf ./${0} ... " 1>&2
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo 1>&2
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray exit 1
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal}
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal#
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# Configuration
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco#
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos KoscoOS=`/bin/uname`
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayif [ -n "${OPENGROK_CONFIGURATION}" -a -f "${OPENGROK_CONFIGURATION}" ]
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Braythen
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray # Load the Local OpenGrok Configuration Environment
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray echo Loading ${OPENGROK_CONFIGURATION} ...
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray . "${OPENGROK_CONFIGURATION}"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotalelse
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal # Use the built-in defaults. This section can be copied to its own
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray # file and tailored to your local requirements. Then simply set
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray # OPENGROK_CONFIGURATION=/path/to/your/configuration, before using
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal # this wrapper. It will save you hand editing in your settings
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal # on each new release. A sample Cron Entry might look like:
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal # 15 0 * * * OPENGROK_CONFIGURATION=/pkgs/etc/OpenGrok.sh /pkgs/sbin/OpenGrok updateQuietly
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal # Note: below is doing some small autodetection, use own config in case it fails
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal # Note: It is not really possible to ever provided defaults for
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal # these values which will run in every UNIX-like environment.
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal # So I have provided a set which are functional for a given
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal # environment on which you can based you own configuration.
65df1e87266301e243dcead8082ca6255abea666Vladimir Kotal
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal STANDARD_ENV=/pkgs/sbin/CronExecutionEnvironment.sh
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal # Setup a standard execution environment
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal if [ -f $STANDARD_ENV ]
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal then
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal echo Loading $STANDARD_ENV ...
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet . $STANDARD_ENV
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet fi
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal VARBASE="/var/opengrok"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal if [ x"$OS" = x"SunOS" ]; then
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal BINARYBASE="/usr/share/lib/java"
83439b4ed8fe40097dc3f2c05168d26bd7926159Vladimir Kotal elif [ x"$OS" = x"Linux" ]; then
83439b4ed8fe40097dc3f2c05168d26bd7926159Vladimir Kotal BINARYBASE="/usr/share/java"
83439b4ed8fe40097dc3f2c05168d26bd7926159Vladimir Kotal fi
3ba66fbb56ef22f183da783a1b2718280c357a4eStanislav Kozina # BINARYBASE="./" in case of local execution ...
3ba66fbb56ef22f183da783a1b2718280c357a4eStanislav Kozina
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal # REQUIRED: Source Code/Repository Root
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal # (your source code or the root of all repositories)
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco SRC_ROOT="$VARBASE/src"
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco # REQUIRED: OpenGrok Generate Data Root
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco # (for Lucene index and hypertext cross-references)
983523cf73bc85cce6282cb5aa78b60f6bcd959fLubos Kosco # This area is rebuilt by "update" / "updateQuietly"
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray DATA_ROOT="$VARBASE/data"
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray
c577d2f6c082eaff9af5bc997d12f3d3bcef537cPeter Bray # OPTIONAL: User Provided Source Path to Description Mapping (Tab Separated Value)
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray # (The user maintained source of the generated EftarFile file)
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco PATH_DESC="$VARBASE/paths.tsv"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal # REQUIRED: XML Configuration
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal # (the configuration used by Web/GUI interfaces)
cd348e325366620fe047edcc849e3c9424828599Peter Bray XML_CONFIGURATION="$VARBASE/etc/configuration.xml"
3b0448fdd830b8d04c6a71511e5d26a4fc3b5b80Lubos Kosco
cd348e325366620fe047edcc849e3c9424828599Peter Bray # REQUIRED: Java Archive of OpenGrok
cd348e325366620fe047edcc849e3c9424828599Peter Bray # (user building from source code will find this other key
cd348e325366620fe047edcc849e3c9424828599Peter Bray # files in the "dist" directory after the build is completed)
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal OPENGROK_JAR="$BINARYBASE/opengrok.jar"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
43dac746513591adbd09bc4f417feb385f4fd87eVladimir Kotal # REQUIRED: Exuberant CTags (http://ctags.sf.net)
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco if [ x"$OS" = x"SunOS" ]; then
f9d25a875ba43bfe59afe634cca8ad627b3a9fb8Vladimir Kotal EXCTAGS="exctags"
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco elif [ x"$OS" = x"Linux" ]; then
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco EXCTAGS="ctags-exuberant"
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco fi
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco EXUBERANT_CTAGS=`which $EXCTAGS`
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco # EXUBERANT_CTAGS="/pkgs/64-bit/release/ctags-5.7/bin/ctags"
fbf97ea1786d1e25add88bbfb91810170473bc9fLubos Kosco
f21b682cd9b414738a4f5a38b56f6682e537e1d2Trond Norbye # REQUIRED: Java Home
3b0448fdd830b8d04c6a71511e5d26a4fc3b5b80Lubos Kosco if [ x"$OS" = x"SunOS" ]; then
3b0448fdd830b8d04c6a71511e5d26a4fc3b5b80Lubos Kosco JAVA_HOME="/usr/jdk/instances/jdk1.6.0"
cd348e325366620fe047edcc849e3c9424828599Peter Bray #JAVA_HOME="/usr/jdk/latest/" # if we will be backwards compatible
cd348e325366620fe047edcc849e3c9424828599Peter Bray elif [ x"$OS" = x"Linux" ]; then
cd348e325366620fe047edcc849e3c9424828599Peter Bray JAVA_HOME="/usr/lib/jvm/java-6-sun/bin/"
cd348e325366620fe047edcc849e3c9424828599Peter Bray fi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray export JAVA_HOME
cd348e325366620fe047edcc849e3c9424828599Peter Bray
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal # REQUIRED: Java Virtual Machine
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal JAVA="${JAVA_HOME}/bin/java"
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal # OPTIONAL: Uncomment the following line if your source contains Mercurial repositories.
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal SCAN_FOR_REPOSITORY="-S"
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco HG=`which hg`
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal CVS=`which cvs`
c276b1ec9722ee95a86a4a381b39c5f405fc1cc4Vladimir Kotal SVN=`which svn`
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco SCCS=`which sccs`
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray # OPTIONAL: Override Built-in Properties
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray PROPERTIES="-Dorg.opensolaris.opengrok.history.Mercurial=$HG \
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray-Dorg.opensolaris.opengrok.history.cvs=$CVS \
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray-Dorg.opensolaris.opengrok.history.Subversion=$SVN \
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray-Dorg.opensolaris.opengrok.history.SCCS=$SCCS"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray # OPTIONAL: JVM Options
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray #JAVA_OPTS="-server -Xmx1024m"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray WAR="dist/source.war"
cd348e325366620fe047edcc849e3c9424828599Peter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray # DELIVERED: An update program for EftarFile
cd348e325366620fe047edcc849e3c9424828599Peter Bray # Usage: <class> inputFile [inputFile ...] outputFile
cd348e325366620fe047edcc849e3c9424828599Peter Bray # EftarFile == An Extremely Fast Tagged Attribute Read-only File System
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray EFTAR_UPDATE="org.opensolaris.opengrok.web.EftarFile"
cd348e325366620fe047edcc849e3c9424828599Peter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Bray # HARDCODED: Generated EftarFile (See web/*.jsp)
cd348e325366620fe047edcc849e3c9424828599Peter Bray EFTAR_OUTPUT_FILE="${DATA_ROOT}/index/dtags.eftar"
cd348e325366620fe047edcc849e3c9424828599Peter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Bray # Be Quiet? (set indirectly by command line arguments in the main program)
cd348e325366620fe047edcc849e3c9424828599Peter Bray QUIET=
cd348e325366620fe047edcc849e3c9424828599Peter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray # or alternatively, Be Verbose!
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray #VERBOSE="-v"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayfi
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Kosco
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayif [ ! -x $EXUBERANT_CTAGS ] ; then
0ca9a2c194523c517c3aafe5758e217ac88d6baaLubos Koscoecho "Exuberant ctags for $OS: $EXCTAGS not found or not executable, exiting until this dependency is resolved ..."
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Brayexit 2
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Koscofi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayif [ ! -d $SRC_ROOT ] ; then
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Brayecho "The source path: $SRC_ROOT doesn't exist, exiting cowardly ..."
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Brayexit 2
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Brayfi
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayif [ ! -d $DATA_ROOT ] ; then
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayecho "Index path $DATA_ROOT nonexistent, attempting to create one ... "
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Braymkdir -p $DATA_ROOT
b34561d2c3d92fac37dbced05ba6a8738e3d20e9Lubos Koscofi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray#
5e6c91d7e77062129cd0b6ac8aaa546dff216419Lubos Kosco# Implementation
c83dfde6b364917fa8ed28142d509a7c29a4da68Vladimir Kotal#
c83dfde6b364917fa8ed28142d509a7c29a4da68Vladimir Kotal
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray# The variable "DO" can usefully be set to "echo" to aid in script debugging
cd348e325366620fe047edcc849e3c9424828599Peter Bray
cd348e325366620fe047edcc849e3c9424828599Peter BrayStdInvocation()
cd348e325366620fe047edcc849e3c9424828599Peter Bray{
cd348e325366620fe047edcc849e3c9424828599Peter Bray ${DO} ${JAVA} ${JAVA_OPTS} ${PROPERTIES} \
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray -jar ${OPENGROK_JAR} \
cd348e325366620fe047edcc849e3c9424828599Peter Bray ${SCAN_FOR_REPOSITORY} ${VERBOSE} ${QUIET} \
cd348e325366620fe047edcc849e3c9424828599Peter Bray ${EXUBERANT_CTAGS:+-c} ${EXUBERANT_CTAGS} \
cd348e325366620fe047edcc849e3c9424828599Peter Bray -s ${SRC_ROOT} -d ${DATA_ROOT} \
cd348e325366620fe047edcc849e3c9424828599Peter Bray "${@}"
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray}
cd348e325366620fe047edcc849e3c9424828599Peter Bray
0b2998be561e7bf5e3479d686a5af36f712b0d9aVladimir KotalUpdateGeneratedConfiguration()
0b2998be561e7bf5e3479d686a5af36f712b0d9aVladimir Kotal{
cd348e325366620fe047edcc849e3c9424828599Peter Bray StdInvocation -W ${XML_CONFIGURATION}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray}
cd348e325366620fe047edcc849e3c9424828599Peter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter BrayUpdateGeneratedData()
cd348e325366620fe047edcc849e3c9424828599Peter Bray{
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray StdInvocation -H
cd348e325366620fe047edcc849e3c9424828599Peter Bray}
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos KoscoUpdateDescriptionCache()
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco{
d7c1415de39f4b07c85828f49cd1ee7a2a19eb9eLubos Kosco # OPTIONAL : Update the EftarFile data
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco if [ -n "${PATH_DESC}" -o -s "${PATH_DESC}" ]
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Kosco then
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray ${DO} ${JAVA} -classpath ${OPENGROK_JAR} \
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray ${EFTAR_UPDATE} ${PATH_DESC} ${EFTAR_OUTPUT_FILE}
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray fi
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray}
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
3aa0947feb67d3e8292d84776638be98dd97fdc3Lubos KoscoOpenGrokUsage()
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray{
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray ${DO} ${JAVA} ${JAVA_OPTS} -jar ${OPENGROK_JAR} '-?'
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray}
cd348e325366620fe047edcc849e3c9424828599Peter Bray
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Bray
cd348e325366620fe047edcc849e3c9424828599Peter BrayDeployWar()
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray{
cd348e325366620fe047edcc849e3c9424828599Peter Bray# detection mechanism could be better, but as a starter this will do the job,
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal# if you expect more, write it, we accept patches !
e9dbb478e3339d96ce4f0af5c6ab7e1d35ebb86dVladimir KotalCONTAINER=""
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal# tomcat is preffered
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotalif [ x"$OS" = x"SunOS" ]; then
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotal WARDIR=/var/tomcat6/webapps/
d961aa46ea0d50fed47802497e45226b1965b12dVladimir Kotalelif [ x"$OS" = x"Linux" ]; then
cd348e325366620fe047edcc849e3c9424828599Peter Bray WARDIR=/var/lib/tomcat6/webapps/
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Brayfi
cd348e325366620fe047edcc849e3c9424828599Peter BrayCONTAINER="tomcat"
cd348e325366620fe047edcc849e3c9424828599Peter Bray
cd348e325366620fe047edcc849e3c9424828599Peter BrayDOMAINDIR=/var/appserver/domains
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
cd348e325366620fe047edcc849e3c9424828599Peter Brayif [ ! -d $WARDIR ]; then
56d93b0c761868f813ac0bc0b5bc21a7a9fefd89Vladimir Kotal# test whether glassfish is there, only if tomcat webapp dir is not present
56d93b0c761868f813ac0bc0b5bc21a7a9fefd89Vladimir Kotal if [ -x /etc/init.d/appserv ]; then
4f3c0816485669143aa54f1c6461fcb47cf5bc5cVladimir Kotal if [ -d $DOMAINDIR ]; then
4f3c0816485669143aa54f1c6461fcb47cf5bc5cVladimir Kotal FIRSTDOMAIN=`ls -1 $DOMAINDIR | head -1`
2b024356b830395446c55f50f9f724a63612e578Lubos Kosco WARDIR=$DOMAINDIR/$FIRSTDOMAIN/autodeploy/
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray CONTAINER="glassfish"
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray else
17d95a647aba8c37d9ac34d97e4eed729aa46f67Naseer Ahmed error "Glassfish installed, but cannot get first domain from $DOMAINDIR."
17d95a647aba8c37d9ac34d97e4eed729aa46f67Naseer Ahmed exit 1;
17d95a647aba8c37d9ac34d97e4eed729aa46f67Naseer Ahmed fi
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco else
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray error "$WARDIR doesn't exist, seems this combination of application container and $OS is unsupported"
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray exit 1;
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray fi
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Koscofi
d2a02e104622a26dd90fa88f4f17188f2039809fPeter Bray
d6ee3934a24d8ccc0e4bb478405d8e5f6a35825dLubos Kosco
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Koscoecho "Copying $WAR to $WARDIR , start your $CONTAINER or wait until it loads the war"
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Koscocp $WAR $WARDIR/
d6ee3934a24d8ccc0e4bb478405d8e5f6a35825dLubos KoscoRC=$?
c842732324ee4c74ede17887ad1f0dcdc4364a2cLubos Koscoif [ x$RC=x"0" ]; then
cd348e325366620fe047edcc849e3c9424828599Peter Brayecho "OpenGrok should be listening on HOST:PORT/source , where HOST and PORT are configured in your $CONTAINER."
b17cb0705d90907337b3528aa7b8ed1700806f26Vladimir Kotalelse
d6ee3934a24d8ccc0e4bb478405d8e5f6a35825dLubos Koscoecho "There was a problem copying the web archive to target directory, consult error message above."
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotalfi
8f8c3f4555e5aa3160f03f2e9c55ddbd3381357bLubos Kosco
425278cfacbc73f1e955ab6016f206fc5ed93ccbVladimir Kotal}
8f8c3f4555e5aa3160f03f2e9c55ddbd3381357bLubos Kosco
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray#
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Kosco# Main Program
477c09a2656e6a2c1075425ad81e61d594164fa9Lubos Kosco#
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Kosco
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Koscoif [ $# -ne 1 ]
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Koscothen
d70dc22c6dce3f498251b0873638d1fea0e644a3Lubos Kosco Usage
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Brayfi
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Koscocase "${1}" in
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco deploy)
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco DeployWar
2cf31ec93bd5d8a2efeab511ce051da51e69aedaLubos Kosco ;;
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray update)
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray UpdateGeneratedData
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray UpdateDescriptionCache
1a5c2ab40bd94d2b2c63afda767ce7bbf29ecc4bJan Friedel ;;
5762c9f28c2246777be0e9d49cb29d9c0f49146dLubos Kosco
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray updateQuietly)
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray QUIET="-q"
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal VERBOSE=""
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal UpdateGeneratedData
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal UpdateDescriptionCache
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal ;;
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal updateConfiguration)
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal UpdateGeneratedConfiguration
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal ;;
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal usage)
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal OpenGrokUsage
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal ;;
6c8465e3b4611cb632cba9b0572e3e3737c8c341Vladimir Kotal
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray *)
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet Usage
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet ;;
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smetesac
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet#
6ce0623fa4ef95af9d77700a1c9c19ec1a919326Guillaume Smet# End of File
d280c5e286f5b98be13237f52281ae5afdcf51b9Peter Bray#
cd71fb134e037849c77364b50940b1870c4684ceVladimir Kotal