opengrok-tag /

Filename Size Date modified Message
68 B
54 B
2.5 KB
18.5 KB
4.5 KB
12.1 KB
113 B
683 B
855 B
1.0 KB
OpenGrok - a wicked fast source browser

OpenGrok is a fast and usable source code search and cross reference
engine, written in Java. It helps you search, cross-reference and navigate
your source tree. It can understand various program file formats and
version control histories like SCCS, RCS, CVS and Subversion

OpenGrok is the tool used for the OpenSolaris Source Browser.

    * Latest Java
    * A servlet container like Tomact (5.x or later)
    * Exuberant Ctags
    * Subversion 1.3.0 or later if SVN support is needed
    * JFlex Ant task

SRC_ROOT refers to the directory containing your source tree.
OpenGrok analyzes the source tree and builds a search index along with
cross-referenced hypertext versions of the source files. These generated
data files will be stored in DATA_ROOT directory. 

OpenGrok setup Step.0 - Setting up the Sources.
Source base must be available locally for OpenGrok to work efficiently. No
changes are required to your source tree. If the code is under CVS or 
Subversion OpenGrok requires the checked out source tree under SRC_ROOT.
A local CVSROOT or Subversion file protocol access must be available.
File history will not be fetched from a remote CVS/SVN server.
Note that OpenGrok ignores symbolic links.

Using command line interface.

Step.1 - Populate DATA_ROOT Directory
Option 1. There is a sample shell script that is suitable
for using in a cronjob to run regularly. Modify the variables in the script
to point appropriate directories.

Option 2. opengrok.jar: You can also directly use the Java application. If
the sources are all located in a directory SRC_ROOT and the data and
hypertext files generated by OpenGrok are to be stored in DATA_ROOT, run

     $ java -jar opengrok.jar -s SRC_ROOT DATA_ROOT

See opengrok.jar manual below for more details.

Step.2 - Configure and Deploy source.war Webapp
To configure the webapp source.war, look into the parameters defined in
web.xml of source.war file and change them (see note1) appropriately.

    * HEADER: is the fragment of HTML that will be used to display title or
    logo of your project
    * SRC_ROOT: the absolute path name of the root directory of your source tree
    * DATA_ROOT: absolute path of the directory where OpenGrok data
    files are stored

Optional Step.3 - Path Descriptions
OpenGrok uses path descriptions in various places (For eg. while showing
directory listings or search results) Example descriptions are in paths.tsv
file. You can list descriptions for directories one per line tab separated
format path tab description. Refer to example 4 below.

Note 1 - Changing webapp parameters: web.xml is the deployment descriptorblogsblo
for the web application. It is in a Jar file named source.war, you can

    * Option 1: Unzip the file to TOMCAT/webapps/source/ directory and
    change the source/WEB-INF/web.xml and other static html files like
    index.html to customize to your project. 
    * Option 2: Extract the web.xml file from source.war file

    	$ unzip source.war WEB-INF/web.xml
    edit web.xml and re-package the jar file. 

    	$ zip -u source.war WEB-INF/web.xml

    Then copy the war files to <i>TOMCAT</i>/webapps directory.

Using Standalone Swing GUI
opengrok.jar when invoked without any arguments, opens up the GUI search window.
The interface is similar to cscope. 

To create an index, first select the browse button for "Search" drop down list.
Choose a directory to store the index (DATA_ROOT), and select the source tree 
(SRC_ROOT). You may have to also select path to ctags in the Advanced Options, 
if exuberant ctags can not be found in the PATH.

Clicking "Update" will create or update the search index.

The index can be searched using the cscope like GUI, which lets you customize
your favorite editor to open the matching files.

Chandan B.N, Sun Microsystems.
Trond Norbye,
Knut Pape,
Martin Englund, Sun Microsystems