OpenGrok revision cd348e325366620fe047edcc849e3c9424828599
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering# OpenGrok Wrapper (Interactive GUI, Initial Generation and Cron Job Updating)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering echo "Usage: ${0} <update|updateQuietly|updateConfiguration|usage|gui>" 1>&2
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering# Configuration
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poetteringif [ -n "${OPENGROK_CONFIGURATION}" -a -f "${OPENGROK_CONFIGURATION}" ]
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # Load the Local OpenGrok Configuration Environment
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering . "${OPENGROK_CONFIGURATION}"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # Use the built-in defaults. This section can be copied to its own
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # file and tailored to your local requirements. Then simply set
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # OPENGROK_CONFIGURATION=/path/to/your/configuration, before using
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # this wrapper. It will save you hand editing in your settings
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # on each new release. A sample Cron Entry might look like:
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # 15 0 * * * OPENGROK_CONFIGURATION=/pkgs/etc/OpenGrok.sh /pkgs/sbin/OpenGrok updateQuietly
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # Note: It is not really possible to ever provided defaults for
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # these values which will run in every UNIX-like environment.
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # So I have provided a set which are functional for a given
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # environment on which you can based you own configuration.
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # Setup a standard execution environment
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering if [ -f /pkgs/sbin/CronExecutionEnvironment.sh ]
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # REQUIRED: Source Code/Repository Root
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # (your source code or the root of all repositories)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # REQUIRED: OpenGrok Generate Data Root
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # (for Lucene index and hypertext cross-references)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # This area is rebuilt by "update" / "updateQuietly"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # OPTIONAL: User Provided Source Path to Description Mapping (Tab Separated Value)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # (The user maintained source of the generated EftarFile file)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # REQUIRED: XML Configuration
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # (the configuration used by Web/GUI interfaces)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering XML_CONFIGURATION="/data/opengrok/configuration.xml"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # REQUIRED: Java Archive of OpenGrok
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # (user building from source code will find this other key
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # files in the "dist" directory after the build is completed)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering OPENGROK_JAR="/data/opengrok/opengrok.jar"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # REQUIRED: Exuberant CTags (http://ctags.sf.net)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering EXUBERANT_CTAGS="/pkgs/64-bit/release/ctags-5.7/bin/ctags"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # REQUIRED: Java Home
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # REQUIRED: Java Virtual Machine
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # OPTIONAL: Uncomment the following line if your source contains Mercurial repositories.
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # OPTIONAL: Override Built-in Properties
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering PROPERTIES="-Dorg.opensolaris.opengrok.history.Mercurial=/pkgs/bin/hg"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # OPTIONAL: JVM Options
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering #JAVA_OPTS="-server -Xmx1024m"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # DELIVERED: An update program for EftarFile
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # Usage: <class> inputFile [inputFile ...] outputFile
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # EftarFile == An Extremely Fast Tagged Attribute Read-only File System
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering EFTAR_UPDATE="org.opensolaris.opengrok.web.EftarFile"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # HARDCODED: Generated EftarFile (See web/*.jsp)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering EFTAR_OUTPUT_FILE="${DATA_ROOT}/index/dtags.eftar"
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # Be Quiet? (set indirectly by command line arguments in the main program)
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering # or alternatively, Be Verbose!
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering# Implementation
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering# The variable "DO" can usefully be set to "echo" to aid in script debugging
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ${DO} ${JAVA} ${JAVA_OPTS} ${PROPERTIES} \
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ${SCAN_FOR_REPOSITORY} ${VERBOSE} ${QUIET} \
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ${EXUBERANT_CTAGS:+-c} ${EXUBERANT_CTAGS} \
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering if [ -n "${PATH_DESC}" -o -s "${PATH_DESC}" ]
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ${DO} ${JAVA} -classpath ${OPENGROK_JAR} \
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ${EFTAR_UPDATE} ${PATH_DESC} ${EFTAR_OUTPUT_FILE}
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ${DO} ${JAVA} ${JAVA_OPTS} -jar ${OPENGROK_JAR} &
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ${DO} ${JAVA} ${JAVA_OPTS} -jar ${OPENGROK_JAR} '-?'