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