OpenGrok revision 979
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews#!/bin/sh
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater#
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater# OpenGrok Wrapper (initial setup and cron job updating)
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater#
1167fc7904c5f0a472f8df207ac46dd52c7f1ec8Automatic Updater# Supported Operating Systems:
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater# - Solaris 10 (SunOS 5.10)
46da3117812814a29432a8d9a9ccf8acdbfdadceAutomatic Updater# - OpenSolaris (SunOS 5.11)
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# - Debian (Linux)
0519188c8e1ae76978fc4e0f799620cd36eba07aAutomatic Updater#
79b273c187a4aa1016a62181983dfdd0521681aeMark Andrews# Supported Deployment Engines:
90ff38a0d8deaf5f9c2aa5916d99b2e572d28738Automatic Updater# - Tomcat 6
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# - Tomcat 5.5
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews# - Glassfish
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Supported Environment Variables:
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater# - OPENGROK_NON_INTERACTIVE Suppress Progress and Warnings Messages (*)
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater# - OPENGROK_STANDARD_ENV Run Time Shell Environment (Shell Script)
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater# - OPENGROK_CONFIGURATION User Configuration (Shell Script)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater# Supported Environment Variables for configuring the default setup:
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic Updater# - OPENGROK_DISTRIBUTION_BASE Base Directory of the OpenGrok Distribution
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# - OPENGROK_INSTANCE_BASE Base Directory of the OpenGrok User Data Area
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# - EXUBERANT_CTAGS Full Path to Exuberant CTags
e171a4137c6ba348957e61b7c4c3541493c0da02Automatic Updater# - JAVA_HOME Full Path to Java Installation Root
831f79c4310a7d38fc3475ccfff531b2b2535641Automatic Updater# - OPENGROK_APP_SERVER Application Server ("Tomcat" or "Glassfish")
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# - OPENGROK_WAR_TARGET_TOMCAT Tomcat Specific WAR Target Directory
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# - OPENGROK_WAR_TARGET_GLASSFISH Glassfish Specific WAR Target Directory
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews# - OPENGROK_WAR_TARGET Fallback WAR Target Directory
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# - OPENGROK_TOMCAT_BASE Base Directory for Tomcat (contains webapps)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# - OPENGROK_GLASSFISH_BASE Base Directory for Glassfish (contains domains)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# - OPENGROK_GLASSFISH_DOMAIN Preferred Glassfish Domain Name
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# - OPENGROK_VERBOSE Enable Verbose Mode in opengrok.jar (*)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson# - OPENGROK_REMOTE_REPOS Disable History Cache for (remote) Repositories (*)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater# - OPENGROK_SCAN_REPOS Disable Scan for repositories (*)_
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# - READ_XML_CONFIGURATION file with read only configuration - a temp workaround for bug # 327
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt#
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater# Notes:
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# (*) Any Non-Empty String will enable these options
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Usage
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt#
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic UpdaterUsage()
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt{
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater echo 1>&2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater echo "Usage: ${0} <deploy|update|updateQuietly|usage>" 1>&2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater echo " ${0} index [<directory>]" 1>&2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater echo 1>&2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater echo " Optional environment variables:" 1>&2
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater echo " OPENGROK_CONFIGURATION - location of your configuration" 1>&2
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater echo " e.g. $ OPENGROK_CONFIGURATION=/var/opengrok/myog.conf ${0} ... " 1>&2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater echo 1>&2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater echo " See the code for more information on configuration options / variables" 1>&2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater echo 1>&2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater exit 1
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews}
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Runtime Configuration
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic UpdaterOS_NAME="`/bin/uname -s`"
8e9f3b69914ee02a80b87c97b1f8093edb3e9ae0Automatic UpdaterOS_VERSION="`/bin/uname -r`"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater# TODO: Handle symlinks correctly (especially in ${0})
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsSCRIPT_DIRECTORY="`dirname ${0}`"
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic UpdaterSCRIPT_DIRECTORY="`cd ${SCRIPT_DIRECTORY}; pwd`"
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater# Default Instance Configuration
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater
693c4232dfdffaff672197d4b9fea944c64cf80aAutomatic UpdaterDefaultInstanceConfiguration()
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews{
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # Use the built-in defaults. This section can be copied to its own
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson # file and tailored to your local requirements. Then simply set
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # OPENGROK_CONFIGURATION=/path/to/your/configuration, before using
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # 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:
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # 15 0 * * * OPENGROK_CONFIGURATION=/pkgs/etc/OpenGrok.sh /pkgs/sbin/OpenGrok updateQuietly
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # Note: It is not really possible to ever provided defaults for
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # these values which will run in every UNIX-like environment.
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson # So I have provided a set which are functional for a given
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # environment on which you can based you own configuration.
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater # This has been updated to support more environment variables and
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews # operating systems, if you have any reasonably generic
11af78f7dc35741bdab68dbab11b03daab005b28Automatic Updater # improvements please feel free to submit a patch.
11af78f7dc35741bdab68dbab11b03daab005b28Automatic Updater
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews OPENGROK_INSTANCE_BASE="${OPENGROK_INSTANCE_BASE:-/var/opengrok}"
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater LOGGER_CONFIG_FILE="logging.properties"
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont if [ -z "${OPENGROK_DISTRIBUTION_BASE}" ]
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews then
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater if [ -d "${SCRIPT_DIRECTORY}/dist" -a \
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater -f "${SCRIPT_DIRECTORY}/dist/opengrok.jar" -a \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews -f "${SCRIPT_DIRECTORY}/dist/source.war" \
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews ]
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater then
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater # Handle Developer Build Environments
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews OPENGROK_DISTRIBUTION_BASE="${SCRIPT_DIRECTORY}/dist"
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews LOGGER_CONF_SOURCE="${SCRIPT_DIRECTORY}/${LOGGER_CONFIG_FILE}"
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater else
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater # Handle Binary Distributions
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews OPENGROK_DISTRIBUTION_BASE="${SCRIPT_DIRECTORY}/../lib"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews LOGGER_CONF_SOURCE="${OPENGROK_DISTRIBUTION_BASE}/../doc/${LOGGER_CONFIG_FILE}"
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater fi
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater fi
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater # REQUIRED: Source Code/Repository Root
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater # (your source code or the root of all repositories)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater SRC_ROOT="${OPENGROK_INSTANCE_BASE}/src"
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # REQUIRED: OpenGrok Generate Data Root
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater # (for Lucene index and hypertext cross-references)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # This area is rebuilt by "update" / "updateQuietly"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater DATA_ROOT="${OPENGROK_INSTANCE_BASE}/data"
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # OPTIONAL: User Provided Source Path to Description Mapping (Tab Separated Value)
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater # (The user maintained source of the generated EftarFile file)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson PATH_DESC="${OPENGROK_INSTANCE_BASE}/etc/paths.tsv"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews # REQUIRED: XML Configuration
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson # (the configuration used by Web/GUI interfaces)
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater XML_CONFIGURATION="${OPENGROK_INSTANCE_BASE}/etc/configuration.xml"
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater # OPTIONAL: read only XML config, if it exists, it will be read
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater READ_XML_CONFIGURATION="${READ_XML_CONFIGURATION:-}"
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater if [ -f "${READ_XML_CONFIGURATION}" ] ; then
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater READ_XML_CONF="-R ${READ_XML_CONFIGURATION}"
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson fi
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
4104e236f71eb5108fcfda6711878a97f6f4a8e7Automatic Updater # REQUIRED: Logger Configuration
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater LOGGER_CONFIG_PATH="${OPENGROK_INSTANCE_BASE}/${LOGGER_CONFIG_FILE}"
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater LOGGER_PROPERTIES="-Djava.util.logging.config.file=${LOGGER_CONFIG_PATH}"
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic Updater
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater # REQUIRED: Java Archive of OpenGrok (Installation Location)
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater OPENGROK_JAR="${OPENGROK_DISTRIBUTION_BASE}/opengrok.jar"
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updater
3e5340279d8875d136a4dd815cccad0044aa2644Automatic Updater # REQUIRED(deploy): Web Archive of OpenGrok (Distribution Location)
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater # (user building from source code will find this and other key
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater # files in the "dist" directory after the build is completed)
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater OPENGROK_DIST_WAR="${OPENGROK_DISTRIBUTION_BASE}/source.war"
d145b64cacc8d9cda51f9924ec70cd4661c3e2cfAutomatic Updater
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater # REQUIRED: Exuberant CTags (http://ctags.sf.net)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater EXUBERANT_CTAGS="${EXUBERANT_CTAGS:-`FindExuberantCTags`}"
1d4f4d2db2d69e48fec2dde5c1535853677d22a7Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater # REQUIRED: Java Home
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater JAVA_HOME="${JAVA_HOME:-`FindJavaHome`}"
9c446b72069d0ab9f710502f4d7048e50875fccbAutomatic Updater export JAVA_HOME
e85565067cf73f8cc21ee29b11761659f1d47ee9Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # REQUIRED: Java Virtual Machine
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater JAVA="${JAVA:-$JAVA_HOME/bin/java}"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # DEVELOPMENT: Debug option, if enabled current indexer will listen on the port 8010 until a debugger connects
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater #JAVA_DEBUG="-agentlib:jdwp=transport=dt_socket,server=y,address=8010,suspend=y"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # OPTIONAL: Ignore these patterns as names of files or directories
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater #IGNORE_PATTERNS="-i dummy"
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # OPTIONAL: Enable Projects
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updater # (Every directory in SRC_ROOT is considered a separate project)
da82e232161d67b77df2d67898bdac693f647be1Automatic Updater ENABLE_PROJECTS="-P"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater # OPTIONAL: Scanning Options (for Mercurial repositories)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater SCAN_FOR_REPOSITORY="-S"
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater if [ ! -z "${OPENGROK_SCAN_REPOS}" ]
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater then
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater SCAN_FOR_REPOSITORY=""
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
5ecad47f69b3fd945472ab2900a9ff826a7ce2f6Automatic Updater
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater # OPTIONAL: Remote Repository Support (CVS or SVN)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # (Can be very time demanding, uncomment if needed)
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updater REMOTE_REPOSITORIES="-r on"
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater if [ ! -z "${OPENGROK_REMOTE_REPOS}" ]
7262eb86f2b465822206122921e2f357218f0cfdAutomatic Updater then
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews REMOTE_REPOSITORIES=""
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
bbb069be941f649228760edcc241122933c066d2Automatic Updater # OPTIONAL: Allow Leading Wildcard Searches
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater # (default: off)
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updater #LEADING_WILDCARD="-a on"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater # OPTIONAL: Web Site Look & Feel
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater # (Options: default, offwhite and polished.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # Note the quoting requirements)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater #SKIN='-L "default"'
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # OPTIONAL: Set Maximum Indexed Words Per File
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # Note, that you might run out of memory, then either increase JVM memory
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updater # as noted in JAVA_OPTS, or set this limit(if you don't mind opengrok not
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # indexing the rest of the file, once the limit is reached)
cafd3a2b9974fe0a4ab95e0289746062bd958d68Automatic Updater # (default: unlimited)
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews #MAX_INDEXED_WORDS="-m 100000"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updater # OPTIONAL: Configuration Address (host:port)
229ea4644b3a7d9c7fdaa43888e7f55ba01e2ee3Automatic Updater # (conf/web.xml default is localhost:2424)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater WEBAPP_CONFIG_ADDRESS="-U localhost:2424"
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater
f7a71eef29bcbf892270460269c79664f600cffdAutomatic Updater # OPTIONAL: JVM Options
3e5340279d8875d136a4dd815cccad0044aa2644Automatic Updater #JAVA_OPTS="-server -Xmx2048m"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington JAVA_OPTS="-Xmx2048m"
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater # OPTIONAL: Full Path to History Utilities
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater HG="`Which hg`"
930f6069e5aa157cf6987cdafd412f5757a5a558Automatic Updater CVS="`Which cvs`"
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater SVN="`Which svn`"
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater SCCS="`Which sccs`"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater CLEARCASE="`Which cleartool`"
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater GIT="`Which git`"
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater P4="`Which p4`"
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson MTN="`Which mtn`"
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater BZR="`Which bzr`"
c3fd32ed29e9e419bb56583f4272a506773b1ea0Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater # OPTIONAL: Override Built-in Properties
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater # Assumption: We should not set properties to the empty string
099b86fb8136a7dff81df85cf395978c16eb254cAutomatic Updater PROPERTIES="\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington${HG:+-Dorg.opensolaris.opengrok.history.Mercurial=$HG} \
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater${CVS:+-Dorg.opensolaris.opengrok.history.cvs=$CVS} \
3857cb6fcabeb79d85de4b3e3e4ab99912b701f8Mark Andrews${SVN:+-Dorg.opensolaris.opengrok.history.Subversion=$SVN} \
572cb2c1c931f6bc6a4a019c103ae88239b0eb96Automatic Updater${SCCS:+-Dorg.opensolaris.opengrok.history.SCCS=$SCCS} \
7858b0168b866c0c2878fc4ea31fb5e581c1a6a9Automatic Updater${CLEARCASE:+-Dorg.opensolaris.opengrok.history.ClearCase=$CLEARCASE} \
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews${GIT:+-Dorg.opensolaris.opengrok.history.git=$GIT} \
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater${P4:+-Dorg.opensolaris.opengrok.history.Perforce=$P4} \
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson${MTN:+-Dorg.opensolaris.opengrok.history.Monotone=$MTN} \
e2caa7536302de34de6cc04025abcd53dc3a499aAutomatic Updater${BZR:+-Dorg.opensolaris.opengrok.history.Bazaar=$BZR} \
56e7dc0c24b04210dcbffb180a9e35644fb820daAutomatic Updater"
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater
8292deab031e7599cd7622aa7675fbe139ca6095Mark Andrews # OPTIONAL: Store The History Cache in Java DB (derby),
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews # instead of file system (in gzipped xml files).
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews #
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews # Requirements:
ca35524ce2b57e6f1b261d23565d1288a355d12fAutomatic Updater # - derbyclient.jar - See README.txt for more details
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews # - Running Derby Server - Defaults to localhost:1527
b109432c3a939bff66a463be86c371bd88efe3aaAutomatic Updater #
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater #DERBY_HISTORY_CACHE=-D
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews # DELIVERED: An update program for EftarFile
3351ccbd5c1961404044f8273d54dad405f53960Mark Andrews # Usage: <class> inputFile [inputFile ...] outputFile
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater # EftarFile == An Extremely Fast Tagged Attribute Read-only File System
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews EFTAR_UPDATE="org.opensolaris.opengrok.web.EftarFile"
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
3351ccbd5c1961404044f8273d54dad405f53960Mark Andrews # HARDCODED: Generated EftarFile (See web/*.jsp)
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater EFTAR_OUTPUT_FILE="${DATA_ROOT}/index/dtags.eftar"
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews # Be Quiet? (set indirectly by command line arguments in the main program)
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater #QUIET=""
0b57424d28c9a67018107133f9fbc0a7dcf057e2Mark Andrews
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater # or alternatively, Be Verbose!
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater #VERBOSE="-v"
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater if [ ! -z "${OPENGROK_VERBOSE}" ]
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater then
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater VERBOSE="-v"
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater QUIET=""
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater fi
e8fc8c884b44371784805e1e0d3100da403dd3f1Automatic Updater}
7d12a6b412fe47e6d6582923fd6954ab8cd0baebAutomatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater# Helper Functions - Logging
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# In general, non-interactive use like cron jobs and automated
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater# installation environments should not generate unnecessary
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# progress information or warnings, as usage and configuration
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# will have generally been debugged prior to automation.
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark AndrewsProgress()
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews{
06f5acb11f1c32228d93eefd1eb841dbfb1c7f4dAutomatic Updater if [ -z "${OPENGROK_NON_INTERACTIVE}" ]
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater then
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater echo "${@}"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater fi
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson}
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark AndrewsWarning()
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews{
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews if [ -z "${OPENGROK_NON_INTERACTIVE}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo "WARNING: ${@}" 1>&2
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater fi
5ecad47f69b3fd945472ab2900a9ff826a7ce2f6Automatic Updater}
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater
b13d89bd89878137c81b36a36596cca3920f27a4Automatic UpdaterError()
b13d89bd89878137c81b36a36596cca3920f27a4Automatic Updater{
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater echo "ERROR: ${@}" 1>&2
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater}
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterFatalError()
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater{
d6317350b1180aa4517f2e8a92fa8fbcbf904ad8Automatic Updater echo 1>&2
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic Updater echo "FATAL ERROR: ${@} - Aborting!" 1>&2
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo 1>&2
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater ${DO} exit 2
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington}
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Helper Functions - Autodetection of Runtime Environment
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonWhich()
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington{
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington path="`which ${1} 2>/dev/null`"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -x "${path}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo "${path}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington}
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonFindExuberantCTags()
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington{
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington case "${OS_NAME}:${OS_VERSION}" in
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington SunOS:5.10) commandName="" ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington SunOS:5.11) commandName="exctags" ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Linux:*) commandName="ctags-exuberant" ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington *) commandName="" ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington esac
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -z "${commandName}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Error "Unable to determine Exuberant CTags command name" \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington "for ${OS_NAME} ${OS_VERSION}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Which "${commandName}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington}
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonFindJavaHome()
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington{
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington case "${OS_NAME}:${OS_VERSION}" in
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington SunOS:5.10) javaHome="/usr/jdk/instances/jdk1.6.0" ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington SunOS:5.11) javaHome="/usr/jdk/latest" ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Linux:*) javaHome="/usr/lib/jvm/java-6-sun" ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington *) javaHome="" ;;
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
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater
56effd2e3f579fd77b1fb37d47871d1bf1286bc4Automatic Updater if [ ! -d "${javaHome}" ]
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater then
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater Error "Missing Java Home ${javaHome}"
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater return
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater fi
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater echo "${javaHome}"
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater}
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
ae7e54b14c946e0984c191554db9abb4893f9349Automatic UpdaterFindApplicationServerType()
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater{
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater # Use this function to determine which environment the deploy the
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater # web application function into. Some users (especially
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater # developers) will have many deployment environments or will wish
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater # to specify directly the application server to deploy to.
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater
0d3490f93bb980fde704055e74c1b508987a5fe4Mark Andrews # Either use the environment variable OPENGROK_APP_SERVER or
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington # reimplement this function in your configuration file (as
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington # specified by OPENGROK_CONFIGURATION)
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington if [ -n "${OPENGROK_APP_SERVER}" ]
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews then
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews echo "${OPENGROK_APP_SERVER}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews fi
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews # This implementation favours Tomcat, but needs a lot of work,
348040cb2675f1c3711672dadfc29f5ddfd2bb23Automatic Updater # especially if Glassfish is perferrerd or it is under the control
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # of SMF (Service Management Facility)
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater
099b86fb8136a7dff81df85cf395978c16eb254cAutomatic Updater # Maybe a better implementation would be to call Application
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # Server specific WAR Directory and see if they exist.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -d "/var/tomcat6/webapps" \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington -o -d "/var/lib/tomcat6/webapps" \
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater -o -d "/var/lib/tomcat5.5/webapps" \
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ]
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater then
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater echo "Tomcat"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater return
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
765c97d56ccddc9d7904c7d9ff2e2d825d9687e4Automatic Updater if [ -x "/etc/init.d/appserv" -a -d "/var/appserver/domains" ]
e01f44b37ba11c9d34f4a8394f950efae5c07f33Automatic Updater then
e01f44b37ba11c9d34f4a8394f950efae5c07f33Automatic Updater echo "Glassfish"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater return
c01dec514a81ecf8c17ca3ef8c3ba95e437295ebAutomatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # Assume Tomcat
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater echo "Tomcat"
3de6db3208d51de1e138b63b9670430c03f99694Automatic Updater}
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterDetermineWarDirectoryTomcat()
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington{
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater if [ -n "${OPENGROK_WAR_TARGET_TOMCAT}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo "${OPENGROK_WAR_TARGET_TOMCAT}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington elif [ -n "${OPENGROK_WAR_TARGET}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo "${OPENGROK_WAR_TARGET}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington for prefix in \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ${OPENGROK_TOMCAT_BASE} \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington /var/tomcat6 \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington /var/lib/tomcat6 \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington /var/lib/tomcat5.5 \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington do
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -d "${prefix}/webapps" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews echo "${prefix}/webapps"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington done
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater}
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonDetermineWarDirectoryGlassfish()
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater{
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater if [ -n "${OPENGROK_WAR_TARGET_GLASSFISH}" ]
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater then
79cea03ba823e2d3a34895f0ba91d7fb5ad799e7Automatic Updater echo "${OPENGROK_WAR_TARGET_GLASSFISH}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater elif [ -n "${OPENGROK_WAR_TARGET}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews echo "${OPENGROK_WAR_TARGET}"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington for prefix in \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington ${OPENGROK_GLASSFISH_BASE} \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington /var/appserver \
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington do
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -d "${prefix}/domains" ]
b7aab05edae933e169d5f83c653935b17c7f0a8bMark Andrews then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -z "${domainDirectory}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington domainDirectory="${prefix}/domains"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews fi
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington done
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews if [ -z "${domainDirectory}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # User Specified Domain
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -n "${OPENGROK_GLASSFISH_DOMAIN}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington directory="${domainDirectory}/${OPENGROK_GLASSFISH_DOMAIN}/autodeploy"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ ! -d "${directory}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington FatalError "Missing Specified Glassfish Domain ${OPENGROK_GLASSFISH_DOMAIN}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater echo "${directory}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington return
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # Arbitrary Domain Selection
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater firstDomain=`ls -1 ${domainDirectory} | head -1`
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater if [ -z "${firstDomain}" ]
56effd2e3f579fd77b1fb37d47871d1bf1286bc4Automatic Updater then
42bee07ebb8152a6ec2f87f4790d87368c24704cAutomatic Updater FatalError "Failed to dynamically determine Glassfish Domain from ${domainDirectory}"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington echo "${domainDirectory}/${firstDomain}/autodeploy"
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater}
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# Implementation
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews#
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington# The variable "DO" can usefully be set to "echo" to aid in script debugging
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews#
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark AndrewsLoadStandardEnvironment()
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews{
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews # Setup a standard execution environment (if required)
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington OPENGROK_STANDARD_ENV="${OPENGROK_STANDARD_ENV:-/pkgs/sbin/CronExecutionEnvironment.sh}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington if [ -f "${OPENGROK_STANDARD_ENV}" ]
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington Progress "Loading ${OPENGROK_STANDARD_ENV} ..."
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington . "${OPENGROK_STANDARD_ENV}"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington fi
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington}
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonLoadInstanceConfiguration()
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington{
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater # Note: As all functions have been defined by the time this routine
84a18c72b9f05a7d2aabbc50886de494251d1719Automatic Updater # is called, your configuration can, if desired, override functions
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington # in addition to setting the variables mentioned in the function
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # DefaultInstanceConfiguration(), this maybe useful to override
79cea03ba823e2d3a34895f0ba91d7fb5ad799e7Automatic Updater # functionality used to determine the default deployment environment
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # find dependencies or validate the configuration, for example.
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater if [ -n "${OPENGROK_CONFIGURATION}" -a -f "${OPENGROK_CONFIGURATION}" ]
8ccd7da886e93cd490fcb6f4c4e98a6514f35820Automatic Updater then
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater # Load the Local OpenGrok Configuration Environment
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Progress "Loading ${OPENGROK_CONFIGURATION} ..."
84a18c72b9f05a7d2aabbc50886de494251d1719Automatic Updater . "${OPENGROK_CONFIGURATION}"
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater else
b0d566a2ce0f5a67f537ee7f8233f82f2584cc61Automatic Updater Progress "Loading the default instance configuration ..."
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington DefaultInstanceConfiguration
b4cebdb6ccde66a8f3e397a1b90b0cf788519d69Automatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater}
1fdd58445074579ee3b65c871137a7a1740eb542Mark Andrews
d630ef2ff74445949a482660938e9fa9da52ca14Automatic UpdaterValidateConfiguration()
cc5a9ce75af9870f2cb9e2bf00548c2f7e6398d6Automatic Updater{
d630ef2ff74445949a482660938e9fa9da52ca14Automatic Updater if [ ! -x "${EXUBERANT_CTAGS}" ]
cc5a9ce75af9870f2cb9e2bf00548c2f7e6398d6Automatic Updater then
cc5a9ce75af9870f2cb9e2bf00548c2f7e6398d6Automatic Updater FatalError "Missing Dependent Application - Exuberant CTags"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
f8b9948a4116226ac41b5509cca152849006c66cAutomatic Updater
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updater if [ ! -d "${SRC_ROOT}" ]
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updater then
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater FatalError "OpenGrok Source Path ${SRC_ROOT} doesn't exist"
47ff70af9e842bf0f69d209433995216f560fe4aAutomatic Updater fi
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater if [ -n "${QUIET}" -a -n "${VERBOSE}" ]
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater then
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater Warning "Both Quiet and Verbose Mode Enabled - Choosing Verbose"
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater QUIET=""
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater VERBOSE="-v"
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater fi
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater}
e8c17c74535be290abaaa160a434ed80bf0ad2feMark Andrews
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic UpdaterCreateRuntimeRequirements()
9c446b72069d0ab9f710502f4d7048e50875fccbAutomatic Updater{
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater if [ ! -d "${DATA_ROOT}" ]
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater then
665ba746c0585088d0c314dcfc4671aa2c7b2dc1Automatic Updater Warning "OpenGrok Generated Data Path ${DATA_ROOT} doesn't exist"
9c446b72069d0ab9f710502f4d7048e50875fccbAutomatic Updater Progress " Attempting to create generated data directory ... "
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DO} mkdir -p "${DATA_ROOT}"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ ! -d "${DATA_ROOT}" ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater FatalError "OpenGrok Data Path ${DATA_ROOT} doesn't exist"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ ! -d "${OPENGROK_INSTANCE_BASE}/etc" ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Warning "OpenGrok Generated Etc Path ${OPENGROK_INSTANCE_BASE}/etc doesn't exist"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Progress " Attempting to create generated etc directory ... "
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DO} mkdir -p "${OPENGROK_INSTANCE_BASE}/etc"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ ! -d "${OPENGROK_INSTANCE_BASE}/etc" ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater FatalError "OpenGrok Etc Path ${OPENGROK_INSTANCE_BASE}/etc doesn't exist"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ -n "${LOGGER_CONFIG_PATH}" -a ! -f "${LOGGER_CONFIG_PATH}" ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Progress " Creating default ${LOGGER_CONFIG_PATH} ... "
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater if [ ! -f "${LOGGER_CONF_SOURCE}" ]
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater then
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater Warning "Can't find distribution logging configuration" \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater "(${LOGGER_CONF_SOURCE}) to install as default" \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater "logging configuration (${LOGGER_CONFIG_PATH})"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater else
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DO} grep -v java.util.logging.FileHandler.pattern "${LOGGER_CONF_SOURCE}" > "${LOGGER_CONFIG_PATH}"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DO} grep java.util.logging.FileHandler.pattern "${LOGGER_CONF_SOURCE}" | sed "s|opengrok%g.%u.log|${OPENGROK_INSTANCE_BASE}/log/opengrok%g.%u.log|g" >> "${LOGGER_CONFIG_PATH}"
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DO} mkdir ${OPENGROK_INSTANCE_BASE}/log
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater fi
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater}
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic UpdaterStdInvocation()
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater{
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DO} ${JAVA} ${JAVA_OPTS} ${PROPERTIES} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${LOGGER_PROPERTIES} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${JAVA_DEBUG} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater -jar ${OPENGROK_JAR} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${IGNORE_PATTERNS} ${ENABLE_PROJECTS} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${DERBY_HISTORY_CACHE} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${SCAN_FOR_REPOSITORY} ${REMOTE_REPOSITORIES} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${VERBOSE} ${QUIET} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${EXUBERANT_CTAGS:+-c} ${EXUBERANT_CTAGS} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${MAX_INDEXED_WORDS} ${SKIN} ${LEADING_WILDCARD} \
44e3b272904bfd85556771d30cf1bc6fa539dd03Automatic Updater ${READ_XML_CONF} \
82447d835d3ff5c658749b4e9b4f66166407b3eaAutomatic Updater -W ${XML_CONFIGURATION} \
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater ${WEBAPP_CONFIG_ADDRESS} \
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater -s ${SRC_ROOT} -d ${DATA_ROOT} \
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater "${@}"
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater}
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
bf8c3776f1bf1a1270e5e0443ae5a8df022632a8Mark AndrewsUpdateGeneratedData()
bf8c3776f1bf1a1270e5e0443ae5a8df022632a8Mark Andrews{
bf8c3776f1bf1a1270e5e0443ae5a8df022632a8Mark Andrews StdInvocation -H
bf8c3776f1bf1a1270e5e0443ae5a8df022632a8Mark Andrews}
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic UpdaterUpdateDescriptionCache()
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater{
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater # OPTIONAL : Update the EftarFile data
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater if [ -n "${PATH_DESC}" -a -s "${PATH_DESC}" ]
7f814b8b164ae04916a8487cdc5e88ee3ff51a58Automatic Updater then
75333ed9bf283dc5f93deea43460149937402985Automatic Updater ${DO} ${JAVA} -classpath ${OPENGROK_JAR} \
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater ${EFTAR_UPDATE} ${PATH_DESC} ${EFTAR_OUTPUT_FILE}
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater fi
4ea3649f028ea6a1e42377082a7ccf8f789fb950Automatic Updater}
40072ce70bc4125329addb4aaa56d18a1230bc17Automatic Updater
60d5d17479b47c03b9c7c86f54269718103750b8Automatic UpdaterOpenGrokUsage()
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater{
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater echo "Options for opengrok.jar:" 1>&2
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater ${DO} ${JAVA} ${JAVA_OPTS} -jar ${OPENGROK_JAR} '-?'
60d5d17479b47c03b9c7c86f54269718103750b8Automatic Updater}
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic UpdaterDeployWar()
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater{
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater applicationServer="`FindApplicationServerType`"
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater case "${applicationServer}" in
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater Tomcat) warTarget="`DetermineWarDirectoryTomcat`" ;;
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater Glassfish) warTarget="`DetermineWarDirectoryGlassfish`" ;;
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater *) FatalError "Unsupported Application Server ${applicationServer}" ;;
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater
19dbf2e20df03f2b81ed1f347e27718084374059Automatic Updater esac
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater if [ -z "${warTarget}" ]
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater then
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater FatalError "Unable to determine Deployment Directory for ${applicationServer}"
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater fi
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater if [ ! -f "${OPENGROK_DIST_WAR}" ]
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater then
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater FatalError "Missing Web Application Archive ${OPENGROK_DIST_WAR}"
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater fi
31a540386a9abaf681d8952f1b2cdf5c75a0ba6cAutomatic Updater
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater if [ ! -d "${warTarget}" ]
ff8ec39ce4afc2d774ce99f2386474d2c8539cd4Automatic Updater then
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater FatalError "Missing Deployment Directory ${warTarget}"
7dd02af3c9350553e1d52d980a7812425b3f1295Automatic Updater fi
7dd02af3c9350553e1d52d980a7812425b3f1295Automatic Updater
01f91b9cd440833f66e7476e43659655cb52ad10Automatic Updater Progress "Installing ${OPENGROK_DIST_WAR} to ${warTarget} ..."
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington ${DO} cp "${OPENGROK_DIST_WAR}" "${warTarget}/"
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington if [ $? != 0 ]
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington then
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater FatalError "Web Application Installation FAILED"
01f91b9cd440833f66e7476e43659655cb52ad10Automatic Updater fi
3e5b24a74c03d5b52f32d138e64e427bd2cbc8f3Automatic Updater
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington Progress
3e5b24a74c03d5b52f32d138e64e427bd2cbc8f3Automatic Updater Progress "Start your application server (${applicationServer}), if it is not already"
3e5b24a74c03d5b52f32d138e64e427bd2cbc8f3Automatic Updater Progress "running, or wait until it loads the just installed web application."
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Progress
80af59ad4dcdf8370354fb45a049f1768e1a13c4Automatic Updater Progress "OpenGrok should be available on <HOST>:<PORT>/source"
789875a1bd6d50c00d3bd883cad17ead1d3c21cdMark Andrews Progress " where HOST and PORT are configured in ${applicationServer}."
789875a1bd6d50c00d3bd883cad17ead1d3c21cdMark Andrews Progress
789875a1bd6d50c00d3bd883cad17ead1d3c21cdMark Andrews}
5f4db4a664e7742d47abed1401fc42e4dd68174cAutomatic Updater
80af59ad4dcdf8370354fb45a049f1768e1a13c4Automatic Updater#
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# Main Program
47ff70af9e842bf0f69d209433995216f560fe4aAutomatic Updater#
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterif [ $# -eq 0 -o $# -gt 2 ]
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterthen
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Usage
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterfi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterLoadStandardEnvironment
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
47ff70af9e842bf0f69d209433995216f560fe4aAutomatic UpdaterLoadInstanceConfiguration
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatercase "${1}" in
47ff70af9e842bf0f69d209433995216f560fe4aAutomatic Updater
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater deploy)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater DeployWar
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ;;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ff62ab3c2e6274f19190ded15548c723d38bbbe3Automatic Updater update)
ff62ab3c2e6274f19190ded15548c723d38bbbe3Automatic Updater ValidateConfiguration
ff62ab3c2e6274f19190ded15548c723d38bbbe3Automatic Updater CreateRuntimeRequirements
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater UpdateGeneratedData
45c349c278fd83acd4dcb91eec3482401a623e47Automatic Updater UpdateDescriptionCache
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ;;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
d9f94d668f4b9342e9367d80e9fc6e81fab303a0Mark Andrews updateQuietly)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ValidateConfiguration
3f616e6f846be57b1717c6beaba0f74de9d5a7c6Automatic Updater CreateRuntimeRequirements
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater QUIET="-q"
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater VERBOSE=""
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater UpdateGeneratedData
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater UpdateDescriptionCache
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater ;;
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater index)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater if [ -n "${2}" ]
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater then
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington SRC_ROOT="${2}"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater fi
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ValidateConfiguration
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington CreateRuntimeRequirements
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater UpdateGeneratedData
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater UpdateDescriptionCache
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ;;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater usage)
7f814b8b164ae04916a8487cdc5e88ee3ff51a58Automatic Updater OpenGrokUsage
7f814b8b164ae04916a8487cdc5e88ee3ff51a58Automatic Updater Usage
7f814b8b164ae04916a8487cdc5e88ee3ff51a58Automatic Updater ;;
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
7f814b8b164ae04916a8487cdc5e88ee3ff51a58Automatic Updater *)
88d58d79c5bc7ce3c20a42461a5070116c736836Automatic Updater Usage
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater ;;
7f814b8b164ae04916a8487cdc5e88ee3ff51a58Automatic Updater
7f814b8b164ae04916a8487cdc5e88ee3ff51a58Automatic Updateresac
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
48b36fa08b2b5bc0d552dc2a4425b3f7007b3d59Automatic Updater#
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater# End of File
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater#
7f814b8b164ae04916a8487cdc5e88ee3ff51a58Automatic Updater