OpenGrok revision cd71fb134e037849c77364b50940b1870c4684ce
59602f2a7c4e4809941583bed3e94cd26e628f1aTinderbox User#!/bin/sh
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater#
c78c39caab4cf8b5daefc9c65878f7f5ed3eb7a0Tinderbox User# OpenGrok Wrapper (initial setup and cron job updating)
f536382c59dd492a14667b753816d920f9981f1cTinderbox User#
ab496cc3df1648e9ad992a87c35c2c0870fdc69dTinderbox User# Supported Operating Systems:
7c1468ed500356839a4a222517364e6ce18cb1a2Tinderbox User# - Solaris 10 (SunOS 5.10)
c57668a2fbbe558c1bd21652813616f2f517c469Tinderbox User# - Solaris 11 (SunOS 5.11)
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# - Debian (Linux)
287a6a8f9040dc43560cd69cddf83bfc0f53b76fTinderbox User#
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# Supported Deployment Engines:
8de3f14f1c300c3e1ed99084cc03485b42c92bf1Tinderbox User# - Tomcat 6
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User# - Tomcat 5.5
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User# - Glassfish
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont# Supported Environment Variables:
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# - OPENGROK_NON_INTERACTIVE Suppress Progress and Warnings Messages (*)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# - OPENGROK_STANDARD_ENV Run Time Shell Environment (Shell Script)
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont# - OPENGROK_CONFIGURATION User Configuration (Shell Script)
d5637bdbb931ff79fced3d4858d83212ea58ed15Tinderbox User#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Supported Environment Variables for configuring the default setup:
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# - OPENGROK_DISTRIBUTION_BASE Base Directory of the OpenGrok Distribution
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont# - OPENGROK_INSTANCE_BASE Base Directory of the OpenGrok User Data Area
d5637bdbb931ff79fced3d4858d83212ea58ed15Tinderbox User# - EXUBERANT_CTAGS Full Path to Exuberant CTags
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# - JAVA_HOME Full Path to Java Installation Root
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# - JAVA Full Path to java binary
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# - JAVA_OPTS Java options
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# - OPENGROK_APP_SERVER Application Server ("Tomcat" or "Glassfish")
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# - OPENGROK_WAR_TARGET_TOMCAT Tomcat Specific WAR Target Directory
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# - OPENGROK_WAR_TARGET_GLASSFISH Glassfish Specific WAR Target Directory
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# - OPENGROK_WAR_TARGET Fallback WAR Target Directory
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# - OPENGROK_TOMCAT_BASE Base Directory for Tomcat (contains webapps)
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# - OPENGROK_GLASSFISH_BASE Base Directory for Glassfish
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# (contains domains)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# - OPENGROK_GLASSFISH_DOMAIN Preferred Glassfish Domain Name
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# - OPENGROK_VERBOSE Enable Verbose Mode in opengrok.jar (*)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# - OPENGROK_PROGRESS Shows progress in %(percentage) of working
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# through project, it's good to have Verbose
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# Mode enabled too, cost of this is one more
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# traversal of the project before indexing it(*)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# - OPENGROK_REMOTE_REPOS Disable History Cache for (remote)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Repositories (*)
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User# - OPENGROK_SCAN_REPOS Disable Scan for repositories (*)
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# - OPENGROK_SCAN_DEPTH how deep should scanning for repos go
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# (by default 3 directories from SRC_ROOT)
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User# - OPENGROK_WEBAPP_CFGADDR Web app address to send configuration to
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User# (use "none" to avoid sending it to web app)
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# - OPENGROK_WPREFIX Disable wildcard prefix search query
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# support (*)
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont# - OPENGROK_DERBY if set, then indexer tries to use derby as
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# historycache (see derby command of this
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt# script)
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User# - READ_XML_CONFIGURATION file with read only configuration
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User# - temporary workaround for bug # 327
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt#
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User# Notes:
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# (*) Any Non-Empty String will enable these options
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# Print usage to stderr and exit.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsUsage()
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews{
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox User progname=`basename $0`
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater exec >&2
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo ""
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews echo "Usage: ${progname} <deploy|derby|update|updateQuietly|usage>"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo " ${progname} index [<directory>]"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo ""
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo " Optional environment variables:"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo " OPENGROK_CONFIGURATION - location of your configuration"
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User echo " e.g. $ OPENGROK_CONFIGURATION=/var/opengrok/myog.conf ${0} ... "
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt echo ""
294e9d4c34462d29a3e766c88f452b46aeb3702fTinderbox User echo " See the code for more information on configuration options /" \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User "variables"
4c6bae917bec70e1fc4d1b761a9765075af78441Tinderbox User echo ""
294e9d4c34462d29a3e766c88f452b46aeb3702fTinderbox User
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt exit 1
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt}
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt#
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt# Runtime Configuration
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt#
7cc0a5d21ef046bfd630c4769943d896a7d7472cTinderbox Userif [ -f "/bin/uname" ]
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrewsthen
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews OS_NAME="`/bin/uname -s`"
ee11dfc481f2ef6a032a715454f6290961a722d2Tinderbox User OS_VERSION="`/bin/uname -r`"
ee11dfc481f2ef6a032a715454f6290961a722d2Tinderbox Userelse
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews OS_NAME="`/usr/bin/uname -s`"
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User OS_VERSION="`/usr/bin/uname -r`"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrewsfi
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User# TODO: Handle symlinks correctly (especially in ${0})
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsSCRIPT_DIRECTORY="`dirname ${0}`"
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox UserSCRIPT_DIRECTORY="`cd ${SCRIPT_DIRECTORY}; pwd`"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User#
77932ac533c711eca5cd86de4e7eca8d91102b43Tinderbox User# Default Instance Configuration
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonDefaultInstanceConfiguration()
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User{
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # Use the built-in defaults. This section can be copied to its own
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # file and tailored to your local requirements. Then simply set
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # OPENGROK_CONFIGURATION=/path/to/your/configuration, before using
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # this wrapper. It will save you hand editing in your settings
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews # on each new release. A sample cron(1M) entry might look like:
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # 15 0 * * * OPENGROK_CONFIGURATION=/pkgs/etc/OpenGrok.sh /pkgs/sbin/OpenGrok updateQuietly
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # Note: It is not really possible to ever provided defaults for
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # these values which will run in every UNIX-like environment.
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson # So I have provided a set which are functional for a given
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # environment on which you can based you own configuration.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # This has been updated to support more environment variables and
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # operating systems, if you have any reasonably generic
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # improvements please feel free to submit a patch.
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User OPENGROK_INSTANCE_BASE="${OPENGROK_INSTANCE_BASE:-/var/opengrok}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User LOGGER_CONFIG_FILE="logging.properties"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
28a5dd720187fddb16055a0f64b63a7b66f29f64Mark Andrews if [ -z "${OPENGROK_DISTRIBUTION_BASE}" ]
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews then
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews if [ -d "${SCRIPT_DIRECTORY}/dist" -a \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User -f "${SCRIPT_DIRECTORY}/dist/opengrok.jar" -a \
a450977e98155f6e828fe6f8d52cf24674231831Mark Andrews -f "${SCRIPT_DIRECTORY}/dist/source.war" \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews ]
fd972434c29fc1169d66594e4cc7697d33036c2bTinderbox User then
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User # Handle Developer Build Environments
37d8e0a4455876fe1e4cca511076cc2c5ab9eedeTinderbox User OPENGROK_DISTRIBUTION_BASE="${SCRIPT_DIRECTORY}/dist"
fd972434c29fc1169d66594e4cc7697d33036c2bTinderbox User LOGGER_CONF_SOURCE="${SCRIPT_DIRECTORY}/${LOGGER_CONFIG_FILE}"
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont else
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User # Handle Binary Distributions
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews OPENGROK_DISTRIBUTION_BASE="${SCRIPT_DIRECTORY}/../lib"
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont LOGGER_CONF_SOURCE="${OPENGROK_DISTRIBUTION_BASE}/../doc/"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews LOGGER_CONF_SOURCE="${LOGGER_CONF_SOURCE}${LOGGER_CONFIG_FILE}"
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User fi
5747235bf35e7398984fd6b4632743396895ea7aTinderbox User fi
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews # REQUIRED: Source Code/Repository Root
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews # (your source code or the root of all repositories)
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src"
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews # REQUIRED: OpenGrok Generate Data Root
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User # (for Lucene index and hypertext cross-references)
5747235bf35e7398984fd6b4632743396895ea7aTinderbox User # This area is rebuilt by "update" / "updateQuietly"
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews DATA_ROOT="${OPENGROK_INSTANCE_BASE}/data"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User # OPTIONAL: User Provided Source Path to Description Mapping (Tab Separated Value)
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews # (The user maintained source of the generated EftarFile file)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews PATH_DESC="${OPENGROK_INSTANCE_BASE}/etc/paths.tsv"
e20788e1216ed720aefa84f3295f7899d9f28c22Mark Andrews
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User # REQUIRED: XML Configuration
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews # (the configuration used by Web/GUI interfaces)
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews XML_CONFIGURATION="${OPENGROK_INSTANCE_BASE}/etc/configuration.xml"
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User # OPTIONAL: read only XML config, if it exists, it will be read
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User READ_XML_CONFIGURATION="${READ_XML_CONFIGURATION:-}"
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ -f "${READ_XML_CONFIGURATION}" ] ; then
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User READ_XML_CONF="-R ${READ_XML_CONFIGURATION}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater # REQUIRED: Logger Configuration
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User LOGGER_CONFIG_PATH="${OPENGROK_INSTANCE_BASE}/${LOGGER_CONFIG_FILE}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews LOGGER_PROPERTIES="-Djava.util.logging.config.file=${LOGGER_CONFIG_PATH}"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # REQUIRED: Java Archive of OpenGrok (Installation Location)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User OPENGROK_JAR="${OPENGROK_DISTRIBUTION_BASE}/opengrok.jar"
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # REQUIRED(deploy): Web Archive of OpenGrok (Distribution Location)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # (user building from source code will find this and other key
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # files in the "dist" directory after the build is completed)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews OPENGROK_DIST_WAR="${OPENGROK_DISTRIBUTION_BASE}/source.war"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater # REQUIRED: Exuberant CTags (http://ctags.sf.net)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User EXUBERANT_CTAGS="${EXUBERANT_CTAGS:-`FindExuberantCTags`}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # REQUIRED: Java Home
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews JAVA_HOME="${JAVA_HOME:-`FindJavaHome`}"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User export JAVA_HOME
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # REQUIRED: Java Virtual Machine
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews JAVA="${JAVA:-$JAVA_HOME/bin/java}"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # DEVELOPMENT: Debug option, if enabled current indexer will listen on the
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # port 8010 until a debugger connects
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater #JAVA_DEBUG="-agentlib:jdwp=transport=dt_socket"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User #JAVA_DEBUG="$JAVA_DEBUG,server=y,address=8010,suspend=y"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # OPTIONAL: Ignore these patterns as names of files or directories
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews #IGNORE_PATTERNS="-i dummy"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater # OPTIONAL: Enable Projects
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # (Every directory in SRC_ROOT is considered a separate project)
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews ENABLE_PROJECTS="-P"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # OPTIONAL: Scanning Options (for Mercurial repositories)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User SCAN_FOR_REPOSITORY="-S"
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson if [ -n "${OPENGROK_SCAN_REPOS}" ]
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews SCAN_FOR_REPOSITORY=""
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # OPTIONAL: Remote Repository Support (CVS or SVN)
5f7586ddbd3edd11272cdd30ed613d936129328bTinderbox User # (Can be very time demanding, uncomment if needed)
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User REMOTE_REPOSITORIES="-r on"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ -n "${OPENGROK_REMOTE_REPOS}" ]
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews REMOTE_REPOSITORIES=""
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User fi
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
70d987def5a58ebeb8243017c0ec2e9b2c326cf4Evan Hunt # OPTIONAL: override depth of scanning for repositories
70d987def5a58ebeb8243017c0ec2e9b2c326cf4Evan Hunt if [ -n "${OPENGROK_SCAN_DEPTH}" ]
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User then
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User SCAN_DEPTH="-z${OPENGROK_SCAN_DEPTH}"
bac4435d473c9a0281507524f084480c34aa942aTinderbox User fi
933799f3641f4f78445d015008bad0038900a82aTinderbox User
f0c5e918974bf778af6cd1e25309ad13e30a79a6Tinderbox User # OPTIONAL: Allow Leading Wildcard Searches
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews # (default: on)
7ca715ad1587a68a531ea1cdea07515d7232567eTinderbox User LEADING_WILDCARD="-a on"
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User if [ -n "${OPENGROK_WPREFIX}" ]
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater then
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater LEADING_WILDCARD=""
bac4435d473c9a0281507524f084480c34aa942aTinderbox User fi
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews
933799f3641f4f78445d015008bad0038900a82aTinderbox User # OPTIONAL: Web Site Look & Feel
8e5fce1f9ceba17dd7e3ff0eb287e1e999c14249Mark Andrews # (Options: default, offwhite and polished.
933799f3641f4f78445d015008bad0038900a82aTinderbox User # Note the quoting requirements)
4151211e6649332f7b5a55870cbe37128bcc7b29Tinderbox User #SKIN='-L "default"'
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater # OPTIONAL: Set Maximum Indexed Words Per File
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # Note, that you might run out of memory, then either increase JVM memory
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # as noted in JAVA_OPTS, or set this limit(if you don't mind opengrok not
f525041ae26958385b697cf82a30f108577024b6Tinderbox User # indexing the rest of the file, once the limit is reached)
b02be031b9ff37b042adc8e68e36b8bbc1f672b7Tinderbox User # (default: unlimited)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater #MAX_INDEXED_WORDS="-m 100000"
ba8b771c371967dd1254c7fa82ebe4158ee04b24Tinderbox User
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater # OPTIONAL: Configuration Address (host:port)
3ec8f7777ea2b04fc1ebb63077f0916f63b1011aTinderbox User # (conf/web.xml default is localhost:2424)
c218e22e3e6cbd409b61a14f1480b5ce5c70bfc1Tinderbox User WEBAPP_CONFIG=""
b02be031b9ff37b042adc8e68e36b8bbc1f672b7Tinderbox User if [ -n "${OPENGROK_WEBAPP_CFGADDR}" ]; then
933799f3641f4f78445d015008bad0038900a82aTinderbox User WEBAPP_CONFIG_ADDRESS=${OPENGROK_WEBAPP_CFGADDR}
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater if [ "${OPENGROK_WEBAPP_CFGADDR}" == "none" ]; then
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater WEBAPP_CONFIG_ADDRESS=""
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater else
ecbc7ebb243a1f8a5dc6f28185ffe9e61d3b2102Mark Andrews WEBAPP_CONFIG_ADDRESS="localhost:2424"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
bac4435d473c9a0281507524f084480c34aa942aTinderbox User if [ -n "${WEBAPP_CONFIG_ADDRESS}" ]; then
39ae0eafed076ef769fef5c18b22a8051df5c93aTinderbox User WEBAPP_CONFIG="-U ${WEBAPP_CONFIG_ADDRESS}"
91d187ce035f39073f0732ff2a401a45c3c955fbMark Andrews fi
c2abd6efeb9affa70aabb63da2acb23e135cf7f2Mark Andrews
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont # OPTIONAL: JVM Options
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User JAVA_OPTS="${JAVA_OPTS:--Xmx2048m}"
f525041ae26958385b697cf82a30f108577024b6Tinderbox User
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # OPTIONAL: Full Path to History Utilities
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater HG="`Which hg`"
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User CVS="`Which cvs`"
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User SVN="`Which svn`"
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updater SCCS="`Which sccs`"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews CLEARCASE="`Which cleartool`"
f2f7a53ba0ba69cfe8c505eea16f71bad9d8d449Tinderbox User GIT="`Which git`"
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User P4="`Which p4`"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews MTN="`Which mtn`"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater BZR="`Which bzr`"
e08cdffb3ae4ad409f37e3e5a218fe4b7e0e3904Tinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # OPTIONAL: Override Built-in Properties
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # Assumption: We should not set properties to the empty string
bac4435d473c9a0281507524f084480c34aa942aTinderbox User PROPERTIES="\
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews${HG:+-Dorg.opensolaris.opengrok.history.Mercurial=$HG} \
ba8b771c371967dd1254c7fa82ebe4158ee04b24Tinderbox User${CVS:+-Dorg.opensolaris.opengrok.history.cvs=$CVS} \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews${SVN:+-Dorg.opensolaris.opengrok.history.Subversion=$SVN} \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater${SCCS:+-Dorg.opensolaris.opengrok.history.SCCS=$SCCS} \
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User${CLEARCASE:+-Dorg.opensolaris.opengrok.history.ClearCase=$CLEARCASE} \
933799f3641f4f78445d015008bad0038900a82aTinderbox User${GIT:+-Dorg.opensolaris.opengrok.history.git=$GIT} \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater${P4:+-Dorg.opensolaris.opengrok.history.Perforce=$P4} \
e64202536ea72d8f371dd0df9fc763f8d70bf886Tinderbox User${MTN:+-Dorg.opensolaris.opengrok.history.Monotone=$MTN} \
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews${BZR:+-Dorg.opensolaris.opengrok.history.Bazaar=$BZR} \
da59e63e7af147a8bcef985b98b04443e04c3a0eTinderbox User"
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
757ff043760e4743dda1a10e7d58349275934902Tinderbox User # OPTIONAL: Store The History Cache in Java DB (derby),
ae454ec746d1d4db8d04e107d4d25ff13158c37fMark Andrews # instead of file system (in gzipped xml files).
f520803b46dc189fdaf84adc87ef327d3587b435Mark Andrews #
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews # Requirements:
757ff043760e4743dda1a10e7d58349275934902Tinderbox User # - derbyclient.jar - See README.txt for more details
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # - Running Derby Server - Defaults to localhost:1527
ae454ec746d1d4db8d04e107d4d25ff13158c37fMark Andrews #
1bcc3273a80c256f11d9098a00ba2c041939e233Mark Andrews if [ -n "${OPENGROK_DERBY}" ]
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson then
1bcc3273a80c256f11d9098a00ba2c041939e233Mark Andrews DERBY_HISTORY_CACHE="-D"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
1bcc3273a80c256f11d9098a00ba2c041939e233Mark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # DELIVERED: An update program for EftarFile
ba8b771c371967dd1254c7fa82ebe4158ee04b24Tinderbox User # Usage: <class> inputFile [inputFile ...] outputFile
bac4435d473c9a0281507524f084480c34aa942aTinderbox User # EftarFile == An Extremely Fast Tagged Attribute Read-only File System
f520803b46dc189fdaf84adc87ef327d3587b435Mark Andrews EFTAR_UPDATE="org.opensolaris.opengrok.web.EftarFile"
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User # HARDCODED: Generated EftarFile (See web/*.jsp)
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews EFTAR_OUTPUT_FILE="${DATA_ROOT}/index/dtags.eftar"
3857cb6fcabeb79d85de4b3e3e4ab99912b701f8Mark Andrews
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User # Be Quiet? (set indirectly by command line arguments in the main program)
e64202536ea72d8f371dd0df9fc763f8d70bf886Tinderbox User #QUIET=""
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # or alternatively, Be Verbose!
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson #VERBOSE="-v"
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ -n "${OPENGROK_VERBOSE}" ]
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews VERBOSE="-v"
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User QUIET=""
ebdf202f2198158ab4d30f22c370a9c63760d071Tinderbox User fi
8292deab031e7599cd7622aa7675fbe139ca6095Mark Andrews
caaff35375fba833f156f952aeca689e5bc7cddfFrancis Dupont if [ -n "${OPENGROK_PROGRESS}" ]
caaff35375fba833f156f952aeca689e5bc7cddfFrancis Dupont then
caaff35375fba833f156f952aeca689e5bc7cddfFrancis Dupont PROGRESS="-C"
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews fi
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont}
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews#
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# Helper Functions - Logging
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont#
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# In general, non-interactive use like cron jobs and automated
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# installation environments should not generate unnecessary
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews# progress information or warnings, as usage and configuration
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont# will have generally been debugged prior to automation.
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User#
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsProgress()
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont{
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews if [ -z "${OPENGROK_NON_INTERACTIVE}" ]
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews then
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews echo "${@}"
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater fi
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews}
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsWarning()
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews{
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews if [ -z "${OPENGROK_NON_INTERACTIVE}" ]
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater then
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews echo "WARNING: ${@}" 1>&2
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews fi
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews}
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsError()
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater{
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews echo "ERROR: ${@}" 1>&2
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews}
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsFatalError()
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews{
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews exec >&2
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews echo ""
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews echo "FATAL ERROR: ${@} - Aborting!"
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews echo ""
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
b30ec46fec40a1b246f7965fbcd341fc6cfd1cc1Mark Andrews ${DO} exit 2
39cad8fb7d7ff3436bb24ce761354afcb80d295aMark Andrews}
c5a97a549c89d562e999d4f906b882c5a2a474e1Tinderbox User
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User#
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews# Helper Functions - Autodetection of Runtime Environment
95c3a5e116c1da135f669c3f15398172fac6279dMark Andrews#
d7d105151a78d35afb4233d2a6dbd47b7ec0d9a5Tinderbox User
d585233c52e283d9a8849f16f04f452419a2484eTinderbox UserWhich()
d7d105151a78d35afb4233d2a6dbd47b7ec0d9a5Tinderbox User{
e64202536ea72d8f371dd0df9fc763f8d70bf886Tinderbox User path="`which ${1} 2>/dev/null`"
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews if [ -x "${path}" ]
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater then
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews echo "${path}"
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User fi
757ff043760e4743dda1a10e7d58349275934902Tinderbox User}
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox UserLocateBinary() {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews for f in $@
933799f3641f4f78445d015008bad0038900a82aTinderbox User do
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews file=`which "$f" 2>/dev/null | grep -v '^no '`
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont if test -n "$file" -a -x "$file"
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo $file
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson return 0
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews done
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo ""
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews return 1
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews}
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsFindExuberantCTags()
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews{
3a988722ad9e209ba4064604d482dc4efe0e19ebTinderbox User binary=`LocateBinary ctags-exuberant exctags ctags`
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if test $? -eq 1
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
a3ffa9ab0644ae2b52f2e13a00b5e85b879f612fTinderbox User Error "Unable to determine Exuberant CTags command name" \
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont "for ${OS_NAME} ${OS_VERSION}"
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews return
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # Verify that this really is Exuberant Ctags
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews $binary --version 2>&1 | grep "Exuberant Ctags" > /dev/null
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if test $? -ne 0
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Error "Unable to determine Exuberant CTags command name" \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User "for ${OS_NAME} ${OS_VERSION}\n(${binary} is not Exuberant CTags)"
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User return
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont fi
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews echo ${binary}
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews}
a5636b773fa05a272b6876afd99309c0b3090e2fMark Andrews
a5636b773fa05a272b6876afd99309c0b3090e2fMark AndrewsFindJavaHome()
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont{
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont javaHome=""
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont case "${OS_NAME}:${OS_VERSION}" in
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont SunOS:5.10) javaHome="/usr/jdk/instances/jdk1.6.0" ;;
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews SunOS:5.11) javaHome="/usr/jdk/latest" ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Linux:*)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -f /etc/alternatives/java ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington javaHome=`ls -l /etc/alternatives/java | cut -f 2 -d \> `
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington javaHome=`dirname $javaHome`
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington javaHome=`dirname $javaHome`
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington else
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington for dir in /usr/lib/jvm/sun-jdk-1.6 \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington /usr/lib/jvm/sun-jre-1.6 \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington /usr/lib/jvm/java-6-sun
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington do
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -f ${dir}/bin/java ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington javaHome=$dir
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington break;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington done
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington esac
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -z "${javaHome}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Error "Unable to determine Java 6 Home" \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington "for ${OS_NAME} ${OS_VERSION}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ ! -d "${javaHome}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Error "Missing Java Home ${javaHome}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo "${javaHome}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington}
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonFindApplicationServerType()
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington{
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # Use this function to determine which environment the deploy the
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # web application function into. Some users (especially
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # developers) will have many deployment environments or will wish
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # to specify directly the application server to deploy to.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # Either use the environment variable OPENGROK_APP_SERVER or
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # reimplement this function in your configuration file (as
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # specified by OPENGROK_CONFIGURATION)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -n "${OPENGROK_APP_SERVER}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
f520803b46dc189fdaf84adc87ef327d3587b435Mark Andrews echo "${OPENGROK_APP_SERVER}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews return
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # This implementation favours Tomcat, but needs a lot of work,
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # especially if Glassfish is perferrerd or it is under the control
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # of SMF (Service Management Facility)
646fed0d28be4387e3e32fb0f5732a1f58b572baTinderbox User
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater # Maybe a better implementation would be to call Application
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater # Server specific WAR Directory and see if they exist.
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater if [ -d "/var/tomcat6/webapps" \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater -o -d "/var/lib/tomcat6/webapps" \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater -o -d "/var/lib/tomcat5/webapps" \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User -o -d "/var/lib/tomcat5.5/webapps" \
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater ]
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater then
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater echo "Tomcat"
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater return
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater fi
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater if [ -x "/etc/init.d/appserv" -a -d "/var/appserver/domains" ]
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater then
b30ec46fec40a1b246f7965fbcd341fc6cfd1cc1Mark Andrews echo "Glassfish"
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User return
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User fi
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User # Assume Tomcat
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User echo "Tomcat"
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User}
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox UserDetermineWarDirectoryTomcat()
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User{
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User if [ -n "${OPENGROK_WAR_TARGET_TOMCAT}" ]
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews then
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User echo "${OPENGROK_WAR_TARGET_TOMCAT}"
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont return
a450977e98155f6e828fe6f8d52cf24674231831Mark Andrews elif [ -n "${OPENGROK_WAR_TARGET}" ]
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User then
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User echo "${OPENGROK_WAR_TARGET}"
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User return
c11c7b47726c02eb05e29ff7be56a3343146e396Tinderbox User fi
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews for prefix in \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews ${OPENGROK_TOMCAT_BASE} \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews /var/tomcat6 \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews /var/lib/tomcat6 \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews /var/lib/tomcat5 \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews /var/lib/tomcat5.5
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews do
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont if [ -d "${prefix}/webapps" ]
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont then
a3ffa9ab0644ae2b52f2e13a00b5e85b879f612fTinderbox User echo "${prefix}/webapps"
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont return
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont fi
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont done
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont}
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark AndrewsDetermineWarDirectoryGlassfish()
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews{
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ -n "${OPENGROK_WAR_TARGET_GLASSFISH}" ]
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo "${OPENGROK_WAR_TARGET_GLASSFISH}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews return
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User elif [ -n "${OPENGROK_WAR_TARGET}" ]
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont then
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont echo "${OPENGROK_WAR_TARGET}"
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont return
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont fi
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont for prefix in \
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont ${OPENGROK_GLASSFISH_BASE} \
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont /var/appserver
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews do
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -d "${prefix}/domains" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -z "${domainDirectory}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington domainDirectory="${prefix}/domains"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington done
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -z "${domainDirectory}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # User Specified Domain
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -n "${OPENGROK_GLASSFISH_DOMAIN}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington directory="${domainDirectory}/${OPENGROK_GLASSFISH_DOMAIN}/autodeploy"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews if [ ! -d "${directory}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington FatalError "Missing Specified Glassfish Domain " \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews "${OPENGROK_GLASSFISH_DOMAIN}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews echo "${directory}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews return
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
33d1cff1dd63494ffa00fac695a793f00c4ebf0bTinderbox User # Arbitrary Domain Selection
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews firstDomain=`ls -1 ${domainDirectory} | head -1`
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ -z "${firstDomain}" ]
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews FatalError "Failed to dynamically determine Glassfish Domain from " \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews "${domainDirectory}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater echo "${domainDirectory}/${firstDomain}/autodeploy"
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont}
bac4435d473c9a0281507524f084480c34aa942aTinderbox User
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Implementation
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews#
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews# The variable "DO" can usefully be set to "echo" to aid in script debugging
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLoadStandardEnvironment()
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington{
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # Setup a standard execution environment (if required)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington cronexec="/pkgs/sbin/CronExecutionEnvironment.sh"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington OPENGROK_STANDARD_ENV="${OPENGROK_STANDARD_ENV:-$cronexec}"
b7aab05edae933e169d5f83c653935b17c7f0a8bMark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -f "${OPENGROK_STANDARD_ENV}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Progress "Loading ${OPENGROK_STANDARD_ENV} ..."
409ba95e573b40cf36acf97dd62ee7e9c7775851Tinderbox User . "${OPENGROK_STANDARD_ENV}"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington}
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Load default configuration and then merge with user specified configuration.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLoadInstanceConfiguration()
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont{
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # Note: As all functions have been defined by the time this routine
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # is called, your configuration can, if desired, override functions
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # in addition to setting the variables mentioned in the function
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # DefaultInstanceConfiguration(), this maybe useful to override
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # functionality used to determine the default deployment environment
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # find dependencies or validate the configuration, for example.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Progress "Loading the default instance configuration ..."
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington DefaultInstanceConfiguration
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -n "${OPENGROK_CONFIGURATION}" -a -f "${OPENGROK_CONFIGURATION}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # Load the Local OpenGrok Configuration Environment
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Progress "Loading ${OPENGROK_CONFIGURATION} ..."
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington . "${OPENGROK_CONFIGURATION}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater}
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark AndrewsValidateConfiguration()
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont{
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater if [ ! -x "${EXUBERANT_CTAGS}" ]
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont then
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater FatalError "Missing Dependent Application - Exuberant CTags"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
56effd2e3f579fd77b1fb37d47871d1bf1286bc4Automatic Updater
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User if [ ! -d "${SRC_ROOT}" ]
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews then
0e91f17da8a29086876a88962e0a3482094b6057Evan Hunt FatalError "OpenGrok Source Path ${SRC_ROOT} doesn't exist"
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews fi
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont if [ -n "${QUIET}" -a -n "${VERBOSE}" ]
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont then
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont Warning "Both Quiet and Verbose Mode Enabled - Choosing Verbose"
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews QUIET=""
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews VERBOSE="-v"
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont fi
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont if [ -n "${OPENGROK_DERBY}" ]
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont then
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont Warning "CHECK: derbyclient.jar needs to be in where the rest of " \
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont "opengrok used jars are and in unpacked source.war in WEB-INF/lib !"
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont fi
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont}
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCreateRuntimeRequirements()
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews{
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ ! -d "${DATA_ROOT}" ]
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Warning "OpenGrok generated data path ${DATA_ROOT} doesn't exist"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews Progress " Attempting to create generated data directory ... "
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews ${DO} mkdir -p "${DATA_ROOT}"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews fi
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews if [ ! -d "${DATA_ROOT}" ]
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington FatalError "OpenGrok data path ${DATA_ROOT} doesn't exist"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ ! -d "${OPENGROK_INSTANCE_BASE}/etc" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Warning "OpenGrok generated etc path ${OPENGROK_INSTANCE_BASE}/etc " \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington "doesn't exist"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Progress " Attempting to create generated etc directory ... "
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ${DO} mkdir -p "${OPENGROK_INSTANCE_BASE}/etc"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ ! -d "${OPENGROK_INSTANCE_BASE}/etc" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
a450977e98155f6e828fe6f8d52cf24674231831Mark Andrews FatalError "OpenGrok etc path ${OPENGROK_INSTANCE_BASE}/etc " \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews "doesn't exist"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ -n "${LOGGER_CONFIG_PATH}" -a ! -f "${LOGGER_CONFIG_PATH}" ]
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Progress " Creating default ${LOGGER_CONFIG_PATH} ... "
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont if [ ! -f "${LOGGER_CONF_SOURCE}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User Warning "Can't find distribution logging configuration" \
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont "(${LOGGER_CONF_SOURCE}) to install as default" \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User "logging configuration (${LOGGER_CONFIG_PATH})"
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews else
757ff043760e4743dda1a10e7d58349275934902Tinderbox User filename="opengrok%g.%u.log"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fullpath="${OPENGROK_INSTANCE_BASE}/log/opengrok%g.%u.log"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews ${DO} grep -v java.util.logging.FileHandler.pattern \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews "${LOGGER_CONF_SOURCE}" > "${LOGGER_CONFIG_PATH}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews ${DO} grep java.util.logging.FileHandler.pattern \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews "${LOGGER_CONF_SOURCE}" | \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews sed "s|$filename|$fullpath|g" >> "${LOGGER_CONFIG_PATH}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ ! -d ${OPENGROK_INSTANCE_BASE}/log ]
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont then
22d32791e5daa0bc80335a0f10ab2de95f41ccdbTinderbox User ${DO} mkdir ${OPENGROK_INSTANCE_BASE}/log
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont fi
646fed0d28be4387e3e32fb0f5732a1f58b572baTinderbox User fi
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ -n "${OPENGROK_DERBY}" ]
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews if [ ! -d "${OPENGROK_INSTANCE_BASE}/derby" ]
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews Warning "OpenGrok generated derby path " \
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews "${OPENGROK_INSTANCE_BASE}/derby doesn't exist"
1fdd58445074579ee3b65c871137a7a1740eb542Mark Andrews Progress " Attempting to create generated derby directory ... "
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User ${DO} mkdir -p ${OPENGROK_INSTANCE_BASE}/derby
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User fi
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User fi
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User}
cc5a9ce75af9870f2cb9e2bf00548c2f7e6398d6Automatic Updater
3759f10fc543747668b1ca4b4671f35b0dea8445Francis DupontStdInvocation()
ec8755f605d7dcb2de1076040e77bc2d7ec33b4aTinderbox User{
bac4435d473c9a0281507524f084480c34aa942aTinderbox User ${DO} ${JAVA} ${JAVA_OPTS} ${PROPERTIES} \
ba8b771c371967dd1254c7fa82ebe4158ee04b24Tinderbox User ${LOGGER_PROPERTIES} \
f33f2b8afe60de897c53cdcb17911f10b552699fTinderbox User ${JAVA_DEBUG} \
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater -jar ${OPENGROK_JAR} \
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater ${IGNORE_PATTERNS} ${ENABLE_PROJECTS} \
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater ${DERBY_HISTORY_CACHE} \
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater ${SCAN_FOR_REPOSITORY} ${REMOTE_REPOSITORIES} \
91faa748a27dee38f6caea461d3e87f15b93abeaTinderbox User ${SCAN_DEPTH} \
1a63fb1d1448ed3f8fd7227ae57be67c2e71279eMark Andrews ${VERBOSE} ${QUIET} \
1a63fb1d1448ed3f8fd7227ae57be67c2e71279eMark Andrews ${PROGRESS} \
9e898948ed76bf5f175bf178866c90c449843c3eTinderbox User ${EXUBERANT_CTAGS:+-c} ${EXUBERANT_CTAGS} \
f33f2b8afe60de897c53cdcb17911f10b552699fTinderbox User ${MAX_INDEXED_WORDS} ${SKIN} ${LEADING_WILDCARD} \
ae454ec746d1d4db8d04e107d4d25ff13158c37fMark Andrews ${READ_XML_CONF} \
ae454ec746d1d4db8d04e107d4d25ff13158c37fMark Andrews -W ${XML_CONFIGURATION} \
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark Andrews ${WEBAPP_CONFIG} \
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark Andrews -s ${SRC_ROOT} -d ${DATA_ROOT} \
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark Andrews "${@}"
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark Andrews}
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark Andrews
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark AndrewsUpdateGeneratedData()
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark Andrews{
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark Andrews StdInvocation -H
10702d681eb650391bcaa0e2704aa3cf2dbf0e98Mark Andrews}
7c8e44a2dc1121dbe3b615c9c934f37fb1741bb9Tinderbox User
93089a352d6903b0d7845a039de4ec2df9a0e35aTinderbox UserUpdateDescriptionCache()
93089a352d6903b0d7845a039de4ec2df9a0e35aTinderbox User{
861836e5f5df62bfaea9ad8923a05278d5ab2f3dTinderbox User # OPTIONAL : Update the EftarFile data
e8c17c74535be290abaaa160a434ed80bf0ad2feMark Andrews
93089a352d6903b0d7845a039de4ec2df9a0e35aTinderbox User if [ -n "${PATH_DESC}" -a -s "${PATH_DESC}" ]
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater then
9c446b72069d0ab9f710502f4d7048e50875fccbAutomatic Updater ${DO} ${JAVA} -classpath ${OPENGROK_JAR} \
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater ${EFTAR_UPDATE} ${PATH_DESC} ${EFTAR_OUTPUT_FILE}
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater fi
9e898948ed76bf5f175bf178866c90c449843c3eTinderbox User}
933799f3641f4f78445d015008bad0038900a82aTinderbox User
ae454ec746d1d4db8d04e107d4d25ff13158c37fMark AndrewsOpenGrokUsage()
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater{
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater echo "Options for opengrok.jar:" 1>&2
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DO} ${JAVA} ${JAVA_OPTS} -jar ${OPENGROK_JAR} '-?'
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater}
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic UpdaterDeployWar()
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater{
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater applicationServer="`FindApplicationServerType`"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater case "${applicationServer}" in
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Tomcat) warTarget="`DetermineWarDirectoryTomcat`" ;;
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Glassfish) warTarget="`DetermineWarDirectoryGlassfish`" ;;
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater *) FatalError "Unsupported Application Server ${applicationServer}" ;;
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater esac
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ -z "${warTarget}" ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater FatalError "Unable to determine Deployment Directory for " \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater "${applicationServer}"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ ! -f "${OPENGROK_DIST_WAR}" ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater FatalError "Missing Web Application Archive ${OPENGROK_DIST_WAR}"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ ! -d "${warTarget}" ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater FatalError "Missing Deployment Directory ${warTarget}"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Progress "Installing ${OPENGROK_DIST_WAR} to ${warTarget} ..."
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DO} cp -p "${OPENGROK_DIST_WAR}" "${warTarget}/"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ $? != 0 ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater FatalError "Web Application Installation FAILED"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
bbc0e1c4f47f101c4a64db3469352c49a49e734fTinderbox User Progress
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Progress "Start your application server (${applicationServer}), " \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater "if it is not already"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Progress "running, or wait until it loads the just installed web " \
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User "application."
bbc0e1c4f47f101c4a64db3469352c49a49e734fTinderbox User Progress
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User Progress "OpenGrok should be available on <HOST>:<PORT>/source"
3040b455151b1e1173193933664b2891b6159f24Mark Andrews Progress " where HOST and PORT are configured in ${applicationServer}."
3040b455151b1e1173193933664b2891b6159f24Mark Andrews Progress
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User}
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater
bf8c3776f1bf1a1270e5e0443ae5a8df022632a8Mark AndrewsDerbyServer()
bf8c3776f1bf1a1270e5e0443ae5a8df022632a8Mark Andrews{
bf8c3776f1bf1a1270e5e0443ae5a8df022632a8Mark Andrews case "${OS_NAME}:${OS_VERSION}" in
bf8c3776f1bf1a1270e5e0443ae5a8df022632a8Mark Andrews SunOS:5.10) Error "unsupported OS" ;;
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater SunOS:5.11)
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater /sbin/svcadm enable javadb
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater ;;
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater Linux:*)
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater mkdir -p $DATA_ROOT/derby
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater java -Dderby.system.home=$DATA_ROOT/derby \
3040b455151b1e1173193933664b2891b6159f24Mark Andrews -jar /usr/lib/jvm/java-6-sun/db/lib/derbynet.jar start
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User ;;
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater *) Error "unsupported OS" ;;
ec8755f605d7dcb2de1076040e77bc2d7ec33b4aTinderbox User esac
4ea3649f028ea6a1e42377082a7ccf8f789fb950Automatic Updater}
40072ce70bc4125329addb4aaa56d18a1230bc17Automatic Updater
60d5d17479b47c03b9c7c86f54269718103750b8Automatic Updater#
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater# Main Program
3040b455151b1e1173193933664b2891b6159f24Mark Andrews#
e9e4257668ff6c4e583b0c0db2508650b0b677b8Tinderbox User
60d5d17479b47c03b9c7c86f54269718103750b8Automatic Updaterif [ $# -eq 0 -o $# -gt 2 ]
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updaterthen
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater Usage
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updaterfi
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic UpdaterLoadStandardEnvironment
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic UpdaterLoadInstanceConfiguration
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updatercase "${1}" in
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater deploy)
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater DeployWar
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater ;;
19dbf2e20df03f2b81ed1f347e27718084374059Automatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater derby)
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater ValidateConfiguration
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater CreateRuntimeRequirements
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater DerbyServer
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater ;;
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater update)
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater ValidateConfiguration
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater CreateRuntimeRequirements
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews UpdateGeneratedData
3040b455151b1e1173193933664b2891b6159f24Mark Andrews UpdateDescriptionCache
3040b455151b1e1173193933664b2891b6159f24Mark Andrews ;;
3e1a17d65ec6227900f388ba2f7561365f7d4f5cTinderbox User
33d1cff1dd63494ffa00fac695a793f00c4ebf0bTinderbox User updateQuietly)
8aa098c6334de11c8fd117d30851cc457813c410Mark Andrews ValidateConfiguration
3759f10fc543747668b1ca4b4671f35b0dea8445Francis Dupont CreateRuntimeRequirements
7dd02af3c9350553e1d52d980a7812425b3f1295Automatic Updater QUIET="-q"
8aa098c6334de11c8fd117d30851cc457813c410Mark Andrews VERBOSE=""
8aa098c6334de11c8fd117d30851cc457813c410Mark Andrews UpdateGeneratedData
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews UpdateDescriptionCache
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox User ;;
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington index)
cc17f4a672fc4ce67327902dd797c4465f12c4c9Mark Andrews if [ -n "${2}" ]
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox User then
01f91b9cd440833f66e7476e43659655cb52ad10Automatic Updater SRC_ROOT="${2}"
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox User fi
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox User ValidateConfiguration
4fe0411487e8e4401477684c0a2bac041ca7c2d5Tinderbox User CreateRuntimeRequirements
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews UpdateGeneratedData
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews UpdateDescriptionCache
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews ;;
fa0326cc2cf428f67575b6ba3b97b528a31b0010Tinderbox User
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews usage)
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews OpenGrokUsage
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews Usage
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews ;;
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews
a03cb08d0c4f1ca5fbc121d2f02bdffa7eb52286Mark Andrews *)
f45f40ec2814a5ff1ed443c968772a1b2e25c462Mark Andrews Usage
f45f40ec2814a5ff1ed443c968772a1b2e25c462Mark Andrews ;;
82a986aaa5d3384a541b5a7d6dae8cf0726d6513Tinderbox Useresac
82a986aaa5d3384a541b5a7d6dae8cf0726d6513Tinderbox User