OpenGrok revision d280c5e286f5b98be13237f52281ae5afdcf51b9
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#!/bin/sh
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User#
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews# OpenGrok Wrapper (initial setup and cron job updating)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Supported Operating Systems:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - Solaris 10 (SunOS 5.10)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OpenSolaris (SunOS 5.11)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - Debian (Linux)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Supported Deployment Engines
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - Tomcat 6
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - Glassfish
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Supported Environment Variables :
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_NON_INTERACTIVE Suppress Progress and Warnings Messages
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_STANDARD_ENV Run Time Shell Environment (Shell Script)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_CONFIGURATION User Configuration (Shell Script)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Supported Environment Variables for configuring the default setup
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_DISTRIBUTION_BASE Base Directory of the OpenGrok Distribution
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# - OPENGROK_INSTANCE_BASE Base Directory of the OpenGrok User Data Area
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# - EXUBERANT_CTAGS Full Path to Exuberant CTags
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - JAVA_HOME Full Path to Java Installation Root
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_APP_SERVER Application Server ("Tomcat" or "Glassfish")
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_WAR_TARGET_TOMCAT Tomcat Specific WAR Target Directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_WAR_TARGET_GLASSFISH Glassfish Specific WAR Target Directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_WAR_TARGET Fallback WAR Target Directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_TOMCAT_BASE Base Directory for Tomcat (contains webapps)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_GLASSFISH_BASE Base Directory for Glassfish (contains domains)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# - OPENGROK_GLASSFISH_DOMAIN Preferred Glassfish Domain Name
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Usage
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinUsage()
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein{
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo 1>&2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo "Usage: ${0} <deploy|update|updateQuietly|updateConfiguration|usage>" 1>&2
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo " ${0} index [<directory>]" 1>&2
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo 1>&2
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo " Optional environment variables:" 1>&2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo " OPENGROK_CONFIGURATION - location of your configuartion" 1>&2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo " e.g. $ OPENGROK_CONFIGURATION=/var/opengrok/myog.conf ${0} ... " 1>&2
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo 1>&2
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt echo " See the code for more information on configuration options / variables" 1>&2
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt echo 1>&2
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt exit 1
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt}
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Runtime Configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox UserOS_NAME="`/bin/uname -s`"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox UserOS_VERSION="`/bin/uname -r`"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User# TODO: Handle symlinks correctly (especially in ${0})
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSCRIPT_DIRECTORY="`dirname ${0}`"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserSCRIPT_DIRECTORY="`cd ${SCRIPT_DIRECTORY}; pwd`"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Default Instance Configuration
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserDefaultInstanceConfiguration()
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater{
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # Use the built-in defaults. This section can be copied to its own
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater # file and tailored to your local requirements. Then simply set
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # OPENGROK_CONFIGURATION=/path/to/your/configuration, before using
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # this wrapper. It will save you hand editing in your settings
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # on each new release. A sample cron(1M) entry might look like:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # 15 0 * * * OPENGROK_CONFIGURATION=/pkgs/etc/OpenGrok.sh /pkgs/sbin/OpenGrok updateQuietly
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # Note: It is not really possible to ever provided defaults for
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # these values which will run in every UNIX-like environment.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # So I have provided a set which are functional for a given
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # environment on which you can based you own configuration.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # This has been updated to support more environment variables and
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # operating systems, if you have any reasonably generic
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # improvements please feel free to submit a patch.
6f64d4ab8e68f9b2333bcbfc755396d29a4a9d7cAutomatic Updater
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt OPENGROK_INSTANCE_BASE="${OPENGROK_INSTANCE_BASE:-/var/opengrok}"
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User LOGGER_CONFIG_FILE="logging.properties"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User if [ -z "${OPENGROK_DISTRIBUTION_BASE}" ]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt then
bbbf2e27d3a981163dab139497d6b2dc85449db0Tinderbox User if [ -d "${SCRIPT_DIRECTORY}/dist" -a \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User -f "${SCRIPT_DIRECTORY}/dist/opengrok.jar" -a \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User -f "${SCRIPT_DIRECTORY}/dist/source.war" \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User ]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User then
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # Handle Developer Build Environments
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User OPENGROK_DISTRIBUTION_BASE="${SCRIPT_DIRECTORY}/dist"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User LOGGER_CONF_SOURCE="${SCRIPT_DIRECTORY}/conf/${LOGGER_CONFIG_FILE}"
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater else
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # Handle Binary Distributions
44d0f0256fbdce130a18655023c3b06bacacbd61Automatic Updater OPENGROK_DISTRIBUTION_BASE="${SCRIPT_DIRECTORY}"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User LOGGER_CONF_SOURCE="${OPENGROK_DISTRIBUTION_BASE}/doc/${LOGGER_CONFIG_FILE}"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User fi
bcf15a19ae0efa72a22cdfb50666a3c6ce39eb9fTinderbox User fi
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
bcf15a19ae0efa72a22cdfb50666a3c6ce39eb9fTinderbox User # REQUIRED: Source Code/Repository Root
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # (your source code or the root of all repositories)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src"
983df82baf1d7d0b668c98cf45928a19f175c6e7Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # REQUIRED: OpenGrok Generate Data Root
983df82baf1d7d0b668c98cf45928a19f175c6e7Tinderbox User # (for Lucene index and hypertext cross-references)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # This area is rebuilt by "update" / "updateQuietly"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User DATA_ROOT="${OPENGROK_INSTANCE_BASE}/data"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # OPTIONAL: User Provided Source Path to Description Mapping (Tab Separated Value)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # (The user maintained source of the generated EftarFile file)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User PATH_DESC="${OPENGROK_INSTANCE_BASE}/etc/paths.tsv"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # REQUIRED: XML Configuration
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # (the configuration used by Web/GUI interfaces)
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews XML_CONFIGURATION="${OPENGROK_INSTANCE_BASE}/etc/configuration.xml"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # TODO: Verify that Logger Configuration is REQUIRED and not OPTIONAL
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # REQUIRED: Logger Configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein LOGGER_CONFIG_PATH="${OPENGROK_INSTANCE_BASE}/${LOGGER_CONFIG_FILE}"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein LOGGER_PROPERTIES="-Djava.util.logging.config.file=${LOGGER_CONFIG_PATH}"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews # REQUIRED: Java Archive of OpenGrok (Installation Location)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt OPENGROK_JAR="${OPENGROK_DISTRIBUTION_BASE}/opengrok.jar"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # REQUIRED(deploy): Web Archive of OpenGrok (Distribution Location)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # (user building from source code will find this and other key
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # files in the "dist" directory after the build is completed)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein OPENGROK_DIST_WAR="${OPENGROK_DISTRIBUTION_BASE}/source.war"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews # REQUIRED: Exuberant CTags (http://ctags.sf.net)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt EXUBERANT_CTAGS="${EXUBERANT_CTAGS:-`FindExuberantCTags`}"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # REQUIRED: Java Home
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt JAVA_HOME="${JAVA_HOME:-`FindJavaHome`}"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews export JAVA_HOME
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # REQUIRED: Java Virtual Machine
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User JAVA="${JAVA:-$JAVA_HOME/bin/java}"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # OPTIONAL: Ignore these patterns as names of files or directories
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User #IGNORE_PATTERNS="-i dummy"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # OPTIONAL: Enable Projects
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # (Every directory in SRC_ROOT is considered a separate project)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ENABLE_PROJECTS="-P"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # OPTIONAL: Scanning Options (for Mercurial repositories)
acb72d5e2c83b597332e3eb0c7d59e1142f1adfdMark Andrews SCAN_FOR_REPOSITORY="-S"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # OPTIONAL: Remote Repository Support (CVS or SVN)
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater # (Can be very time demanding, uncomment if needed)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User #REMOTE_REPOSITORIES="-r on"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater # OPTIONAL: Allow Leading Wildcard Searches
3cddb2c552ee6582e8db0849c28747f6b6ca57feAutomatic Updater # (default: off)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt #LEADING_WILDCARD="-a on"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
852ccdd42a71550c974111b49415204ffeca6573Automatic Updater # OPTIONAL: Web Site Look & Feel
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # (Options: default, offwhite and polished.
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater # Note the quoting requirements)
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater #SKIN='-L "default"'
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # OPTIONAL: Increase Maximum Indexed Words Per File
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt # (default: 60000)
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater #MAX_INDEXED_WORDS="-m 100000"
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater
66f25f2ceeb589e67efe7af2413baaa3426b0042Automatic Updater # OPTIONAL: Configuration Address (host:port)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # (conf/web.xml default is localhost:2424)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User WEBAPP_CONFIG_ADDRESS="-U localhost:2424"
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater # OPTIONAL: JVM Options
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater #JAVA_OPTS="-server -Xmx1024m"
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater
38417cbfb1a328c20b5b723b8584a02c57f88897Automatic Updater # OPTIONAL: Full Path to History Utilities
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein HG="`Which hg`"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User CVS="`Which cvs`"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein SVN="`Which svn`"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein SCCS="`Which sccs`"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # OPTIONAL: Override Built-in Properties
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # Assumption: We should not set properties to the empty string
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein PROPERTIES="\
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein${HG:+-Dorg.opensolaris.opengrok.history.Mercurial=$HG} \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein${CVS:+-Dorg.opensolaris.opengrok.history.cvs=$CVS} \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein${SVN:+-Dorg.opensolaris.opengrok.history.Subversion=$SVN} \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein${SCCS:+-Dorg.opensolaris.opengrok.history.SCCS=$SCCS} \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # OPTIONAL: Store The History Cache in Java DB (derby),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # instead of file system (in gzipped xml files).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein #
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # Requirements:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # - derbyclient.jar - See README.txt for more details
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # - Running Derby Server - Defaults to localhost:1527
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein #
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater #DERBY_HISTORY_CACHE=-D
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater # DELIVERED: An update program for EftarFile
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater # Usage: <class> inputFile [inputFile ...] outputFile
3a5fe5abf08f16b8d31ab8ee9a788063110ef000Automatic Updater # EftarFile == An Extremely Fast Tagged Attribute Read-only File System
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein EFTAR_UPDATE="org.opensolaris.opengrok.web.EftarFile"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # HARDCODED: Generated EftarFile (See web/*.jsp)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein EFTAR_OUTPUT_FILE="${DATA_ROOT}/index/dtags.eftar"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # Be Quiet? (set indirectly by command line arguments in the main program)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein #QUIET=""
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # or alternatively, Be Verbose!
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein #VERBOSE="-v"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Helper Functions - Logging
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
b05bdb520d83f7ecaad708fe305268c3420be01dMark Andrews# In general, non-interactive use like cron jobs and automated
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# installation environments should not generate unnecessary
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# progress information or warnings, as usage and configuration
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# will have generally been debugged prior to automation.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox UserProgress()
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User{
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt if [ -z "${OPENGROK_NON_INTERACTIVE}" ]
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User then
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User echo "${@}"
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User fi
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinWarning()
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User{
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt if [ -z "${OPENGROK_NON_INTERACTIVE}" ]
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User then
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User echo "WARNING: ${@}" 1>&2
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User fi
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox User}
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
794b79e6bbc3f5db1ea6ae154d739b9f1ef1a375Tinderbox UserError()
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User{
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo "ERROR: ${@}" 1>&2
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFatalError()
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User{
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo 1>&2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo "FATAL ERROR: ${@} - Aborting!" 1>&2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo 1>&2
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ${DO} exit 2
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Helper Functions - Autodetection of Runtime Environment
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinWhich()
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein{
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein path="`which ${1} 2>/dev/null`"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if [ -x "${path}" ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo "${path}"
71c66a876ecca77923638d3f94cc0783152b2f03Mark Andrews fi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntFindExuberantCTags()
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt{
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein case "${OS_NAME}:${OS_VERSION}" in
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User SunOS:5.10) commandName="" ;;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User SunOS:5.11) commandName="exctags" ;;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Linux:*) commandName="ctags-exuberant" ;;
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User *) commandName="" ;;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User esac
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews if [ -z "${commandName}" ]
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews then
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Error "Unable to determine Exuberant CTags command name" \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "for ${OS_NAME} ${OS_VERSION}"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User return
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Which "${commandName}"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFindJavaHome()
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein{
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews case "${OS_NAME}:${OS_VERSION}" in
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews SunOS:5.10) javaHome="/usr/jdk/instances/jdk1.6.0" ;;
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews SunOS:5.11) javaHome="/usr/jdk/latest" ;;
a1b05dea35aa30b152a47115e18bbe679d3fcf19Mark Andrews Linux:*) javaHome="/usr/lib/jvm/java-6-sun" ;;
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews *) javaHome="" ;;
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein esac
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if [ -z "${javaHome}" ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Error "Unable to determine Java 6 Home" \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "for ${OS_NAME} ${OS_VERSION}"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein return
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fi
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
bea931e17b7567f09107f93ab7e25c7f00abeb9cMark Andrews if [ ! -d "${javaHome}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User Error "Missing Java Home ${javaHome}"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User return
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "${javaHome}"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User}
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserFindApplicationServerType()
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User{
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # Use this function to determine which environment the deploy the
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # web application function into. Some users (especially
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # developers) will have many deployment environments or will wish
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # to specify directly the application server to deploy to.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # Either use the environment variable OPENGROK_APP_SERVER or
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # reimplement this function in your configuration file (as
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # specified by OPENGROK_CONFIGURATION)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User if [ -n "${OPENGROK_APP_SERVER}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "${OPENGROK_APP_SERVER}"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User return
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # This implementation favours Tomcat, but needs a lot of work,
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # especially if Glassfish is perferrerd or it is under the control
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # of SMF (Service Management Facility)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # Maybe a better implementation would be to call Application
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # Server specific WAR Directory and see if they exist.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User if [ -d "/var/tomcat6/webapps" \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User -o -d "/var/lib/tomcat6/webapps" \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "Tomcat"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User return
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User if [ -x "/etc/init.d/appserv" -a -d "/var/appserver/domains" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "Glassfish"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User return
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User # Assume Tomcat
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "Tomcat"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User}
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserDetermineWarDirectoryTomcat()
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User{
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User if [ -n "${OPENGROK_WAR_TARGET_TOMCAT}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "${OPENGROK_WAR_TARGET_TOMCAT}"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User return
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User elif [ -n "${OPENGROK_WAR_TARGET}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo "${OPENGROK_WAR_TARGET}"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User return
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User for prefix in \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User ${OPENGROK_TOMCAT_BASE} \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User /var/tomcat6 \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User /var/lib/tomcat6 \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User do
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User if [ -d "${prefix}/webapps" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "${prefix}/webapps"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User return
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User done
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User}
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserDetermineWarDirectoryGlassfish()
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User{
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User if [ -n "${OPENGROK_WAR_TARGET_GLASSFISH}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "${OPENGROK_WAR_TARGET_GLASSFISH}"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User return
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User elif [ -n "${OPENGROK_WAR_TARGET}" ]
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User echo "${OPENGROK_WAR_TARGET}"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User return
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt for prefix in \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User ${OPENGROK_GLASSFISH_BASE} \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User /var/appserver \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User do
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User if [ -d "${prefix}/domains" ]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein then
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User if [ -z "${domainDirectory}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User domainDirectory="${prefix}/domains"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User fi
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User done
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User if [ -z "${domainDirectory}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt return
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User # User Specified Domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if [ -n "${OPENGROK_GLASSFISH_DOMAIN}" ]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User directory="${domainDirectory}/${OPENGROK_GLASSFISH_DOMAIN}/autodeploy"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User if [ ! -d "${directory}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User FatalError "Missing Specified Glassfish Domain ${OPENGROK_GLASSFISH_DOMAIN}"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein echo "${directory}"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein return
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce fi
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # Arbitrary Domain Selection
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce firstDomain=`ls -1 ${domainDirectory} | head -1`
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ -z "${firstDomain}" ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce FatalError "Failed to dynamically determine Glassfish Domain from ${domainDirectory}"
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater fi
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews echo "${domainDirectory}/${firstDomain}/autodeploy"
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce}
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater#
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# Implementation
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater#
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater# The variable "DO" can usefully be set to "echo" to aid in script debugging
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceLoadStandardEnvironment()
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce{
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce # Setup a standard execution environment (if required)
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater OPENGROK_STANDARD_ENV="${OPENGROK_STANDARD_ENV:-/pkgs/sbin/CronExecutionEnvironment.sh}"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ -f "${OPENGROK_STANDARD_ENV}" ]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater then
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Progress "Loading ${OPENGROK_STANDARD_ENV} ..."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce . "${OPENGROK_STANDARD_ENV}"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce fi
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce}
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce
ac93437301f55ed69bf85883a497a75598c628f9Automatic UpdaterLoadInstanceConfiguration()
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater{
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce # Note: As all functions have been defined by the time this routine
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce # is called, your configuration can, if desired, override functions
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce # in addition to setting the variables mentioned in the function
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce # DefaultInstanceConfiguration(), this maybe useful to override
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce # functionality used to determine the default deployment environment
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce # find dependencies or validate the configuration, for example.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce if [ -n "${OPENGROK_CONFIGURATION}" -a -f "${OPENGROK_CONFIGURATION}" ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce # Load the Local OpenGrok Configuration Environment
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Progress "Loading ${OPENGROK_CONFIGURATION} ..."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce . "${OPENGROK_CONFIGURATION}"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce else
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Progress "Loading the default instance configuration ..."
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce DefaultInstanceConfiguration
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce fi
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceValidateConfiguration()
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce{
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ ! -x "${EXUBERANT_CTAGS}" ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce FatalError "Missing Dependent Application - Exuberant CTags"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce fi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User if [ ! -d "${SRC_ROOT}" ]
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User then
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User FatalError "OpenGrok Source Path ${SRC_ROOT} doesn't exist"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceCreateRuntimeRequirements()
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce{
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ ! -d "${DATA_ROOT}" ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Warning "OpenGrok Generated Data Path ${DATA_ROOT} doesn't exist"
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater Progress " Attempting to create generated data directory ... "
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater ${DO} mkdir -p "${DATA_ROOT}"
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater fi
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater if [ ! -d "${DATA_ROOT}" ]
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater then
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater FatalError "OpenGrok Data Path ${DATA_ROOT} doesn't exist"
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater fi
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ ! -d "${OPENGROK_INSTANCE_BASE}/etc" ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Warning "OpenGrok Generated Etc Path ${OPENGROK_INSTANCE_BASE}/etc doesn't exist"
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce Progress " Attempting to create generated etc directory ... "
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater ${DO} mkdir -p "${OPENGROK_INSTANCE_BASE}/etc"
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater fi
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ ! -d "${OPENGROK_INSTANCE_BASE}/etc" ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce FatalError "OpenGrok Etc Path ${OPENGROK_INSTANCE_BASE}/etc doesn't exist"
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce fi
c71787bd6356c92e9c7d0a174cd63ab17fcf34c6Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ -n "${LOGGER_CONFIG_PATH}" -a ! -f "${LOGGER_CONFIG_PATH}" ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Progress " Creating default ${LOGGER_CONFIG_PATH} ... "
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce if [ ! -f "${LOGGER_CONF_SOURCE}" ]
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce then
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce FatalError "Can't find distribution logging configuration"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein "(${LOGGER_CONF_SOURCE}) to install as default"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User "logging configuration (${LOGGER_CONFIG_PATH})"
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User fi
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User ${DO} cp "${LOGGER_CONF_SOURCE}" "${LOGGER_CONFIG_PATH}"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # TODO: Consider automatically setting the logging directory
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein # to within the instance base directory tree
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce fi
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce}
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinStdInvocation()
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User{
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User ${DO} ${JAVA} ${JAVA_OPTS} ${PROPERTIES} \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User ${LOGGER_PROPERTIES} \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -jar ${OPENGROK_JAR} \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ${IGNORE_PATTERNS} ${ENABLE_PROJECTS} \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User ${DERBY_HISTORY_CACHE} \
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ${SCAN_FOR_REPOSITORY} ${REMOTE_REPOSITORIES} \
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ${VERBOSE} ${QUIET} \
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ${EXUBERANT_CTAGS:+-c} ${EXUBERANT_CTAGS} \
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ${MAX_INDEXED_WORDS} ${SKIN} ${LEADING_WILDCARD} \
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User -s ${SRC_ROOT} -d ${DATA_ROOT} \
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User "${@}"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User#? -R ${XML_CONFIGURATION} \
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserUpdateGeneratedConfiguration()
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User{
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User StdInvocation -W ${XML_CONFIGURATION} ${WEBAPP_CONFIG_ADDRESS}
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserUpdateGeneratedData()
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User{
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User StdInvocation -H
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User}
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox UserUpdateDescriptionCache()
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User{
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User # OPTIONAL : Update the EftarFile data
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User if [ -n "${PATH_DESC}" -a -s "${PATH_DESC}" ]
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User then
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ${DO} ${JAVA} -classpath ${OPENGROK_JAR} \
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ${EFTAR_UPDATE} ${PATH_DESC} ${EFTAR_OUTPUT_FILE}
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User fi
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User}
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox UserOpenGrokUsage()
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User{
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User echo "Options for opengrok.jar:" 1>&2
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ${DO} ${JAVA} ${JAVA_OPTS} -jar ${OPENGROK_JAR} '-?'
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserDeployWar()
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein{
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User applicationServer="`FindApplicationServerType`"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User case "${applicationServer}" in
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox User Tomcat) warTarget="`DetermineWarDirectoryTomcat`" ;;
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Glassfish) warTarget="`DetermineWarDirectoryGlassfish`" ;;
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein *) FatalError "Unsupported Application Server ${applicationServer}" ;;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User esac
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User if [ -z "${warTarget}" ]
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User then
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User FatalError "Unable to determine Deployment Directory for ${applicationServer}"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User fi
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User if [ ! -f "${OPENGROK_DIST_WAR}" ]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User then
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User FatalError "Missing Web Application Archive ${OPENGROK_DIST_WAR}"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User fi
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User if [ ! -d "${warTarget}" ]
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User then
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User FatalError "Missing Deployment Directory ${warTarget}"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User fi
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Progress "Installing ${OPENGROK_DIST_WAR} to ${warTarget} ..."
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ${DO} cp "${OPENGROK_DIST_WAR}" "${warTarget}/"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User if [ $? != 0 ]
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User then
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein FatalError "Web Application Installation FAILED"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User fi
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Progress
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Progress "Start your application server (${applicationServer}), if it is not already"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Progress "running, or wait until it loads the just installed web application."
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Progress
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Progress "OpenGrok should be available on <HOST>:<PORT>/source"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Progress " where HOST and PORT are configured in ${applicationServer}."
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Progress
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein}
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User#
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User# Main Program
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User#
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinif [ $# -eq 0 -o $# -gt 2 ]
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userthen
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User Usage
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox Userfi
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserLoadStandardEnvironment
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox UserLoadInstanceConfiguration
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox Usercase "${1}" in
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User deploy)
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User DeployWar
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ;;
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User update)
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ValidateConfiguration
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User CreateRuntimeRequirements
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User UpdateGeneratedData
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User UpdateDescriptionCache
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ;;
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User updateQuietly)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein ValidateConfiguration
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User CreateRuntimeRequirements
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User QUIET="-q"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein VERBOSE=""
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User UpdateGeneratedData
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User UpdateDescriptionCache
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ;;
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User updateConfiguration)
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ValidateConfiguration
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User CreateRuntimeRequirements
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User UpdateGeneratedConfiguration
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ;;
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User index)
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User if [ -n "${2}" ]
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User then
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox User SRC_ROOT="${2}"
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User fi
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ValidateConfiguration
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User CreateRuntimeRequirements
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User UpdateGeneratedConfiguration
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User UpdateGeneratedData
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User UpdateDescriptionCache
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ;;
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein usage)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein OpenGrokUsage
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Usage
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ;;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein *)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User Usage
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User ;;
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox Useresac
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User# End of File
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User#
2b4d1b54f6ca406b8233d9e6fea9593df6dad035Tinderbox User