OpenGrok

From CDOT Wiki
Revision as of 10:09, 26 October 2006 by Tiago (talk | contribs)
Jump to: navigation, search

Introduction

OpenGrok is the source browser in use by the OpenSolaris community. It uses Java Servlets running on Java5

Features and Benefits

File History

OpenGrok maintains code version history. I am currently unsure of whether it looks at the CVS versioning information or whether it compares files between indexes. There is also options for many diffs and comparing different, non-concurrent versions.Example

After a little looking at the OpenSolaris OpenGrok, it seems that the version histories are more Wiki style than CVS style, so they are arbitrary

Extendable

If there are files which cannot be analysed by the included analysers, OpenGrok allows the user to develop their own analysers, I am unsure of whether or not there is a JavaScript analyser allready, maybe even an XPCOM/XUL analyser could be written, but I don't know the first thing about XPCOM/XUL so this maybe allready implemented in another language.

In File Linking

The indexer hyperlinks all symbols to the file and line number of their declaration. If the symbol is in multiple files it shows a list of all files which have it.

Integrates Well

The header and footer are completely customizable. OpenGrok could be integrated with the current MDC potentially. The header and footer are implemented through a variable which holds the copmlete html of the header and footer.

Example Implementation

OpenSolaris

Installation Procedure

Notes

I will be listing notes for my own reference, feel free to use them

Steps

  • Install Ubuntu Linux as a server from the Ubuntu DVD
  • Install the following packages
 - ctags -> exuberant-ctags
 - sun-java5-jdk
 - tomcat5 tomcat5-admin tomcat5-webapps
   - Installs GNU Java which must be removed
 -make (using 3.81, may need 3.80)
 -CVS
  • Run "sudo update-alternatives --config java" and "apt-get remove --purge java-gcj-compat"
  • Change the tomcat5 config (/etc/default/tomcat5) to point to the new default Java runtime (/usr/lib/jvm/java-1.5.0-sun/)
  • Setup a Mozilla code directory (mkdir /var/mozilla)
  • Checkout code via CVS using make from GNU Guide on CVS Checkout
  • Follow guide at the OpenSolaris Project Guide

Important Info

  • /var/lib/tomcat5 is the default $CATALINA_HOME
  • /etc/default/tomcat5 has some configuration files
  • My SRC_ROOT is /var/mozilla
  • My DATA_ROOT is /var/tmp/opengrok_data
  • My run.sh uses a ctags at /usr/bin/ctags not the default
  • File permissions need to be changed this may help
  • Setting up the Admin webapp here