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