OpenGrok is a fast source code search and cross reference engine.
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 and CVS.
In other words it lets you grok (profoundly understand) the open source, hence the name OpenGrok. It is written in Java.
Usage:
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.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.
Product's homepage
Requirements:
· Java 2 Standard Edition Runtime Environment
· Apache Tomcat
· Exuberant Ctags
What's New in This Release: [ read full changelog ]
NEW FEATURES:
· python analyzer, perl analyzer
· listing of variables/methods for quicker navigation
· sh analyzer xrefs improved
· SQL analyzer updated to SQL:2008
· UI usability improvements
· updated Lucene to 3.0.2
· introduced Maven as alternative build system to Ant
BUG FIXES:
· Bug #5590: Unhighlighted difference in compare list
· Bug #11264: Add a python specific language analyzer.
· Bug #13184: provide quick links to annotate,history and download from search results view: diff link for history search
· Bug #13184: provide quick links to annotate,history and download from search results view
· Bug #13777: Indexer should print "Adding: ..." before it adds a file
· Bug #14545: clicking on annotate doesn't preserve line number
· Bug #14663: broken syntax highlight in ksh script when ` is used (and when " is escaped)
· Bug #14924: Java method calls incorrectly classified as definitions
· Bug #15468: Log useful info from indexer regardless of -v
· Bug #15661: OpenGrok should support new ksh command substitution x=${ cmd ; }
· Bug #15890: Missing anchor in xref
· Bug #15938: Analyzers should only use JFlex's public API
· Bug #15947: Detect GNU CSSC in addition to SCCS
· Bug #15948: Fail if svnadmin is missing: tests depend on it
· Bug #15954: teamware repository not detected anymore
· Bug #15956: indexer fails on indexing
· Bug #15961: Allow certain symlinks to be followed to help with using clearcase dynamic views
· Bug #16006: Indexer's -P option removes customization of existing projects
· Bug #16070: our ctags parser fails to parse a c signature
· Bug #16076: problem of ELFAnalyzer in opengrok 0.9
· Bug #16334: Indexer hangs when files contain 0x1A characters
· Bug #16370: build.xml: Check for JFlex.jar and taskdef for jflex-task use different classpath
· Bug #16451: Tray app doesn't work with other protocols than jmxmp
· Bug #16454: Trayapp shuts down when a window is closed
· Bug #16465: SVN history of filenames containing @ cannot be retrieved
· Bug #16481: NumberFormatException when opening Connection Settings the second time
· Bug #16611: svn repository with svn:// protocol as urn results in NPE when reading history
· Bug #16660: Perforce repositories return months 1-12, not 0-11
· Bug #16677: revamp option -v
· Bug #16692: Index files left open after multiple project search
· Bug #16760: Generating incorrect links for C/C++ "#include" statements if extension of a header file is not on the lexer's list
· Bug #16761: Perforce history reader would not use per-project clients (defined by P4CONFIG files)
· Bug #16764: Perforce source annotation: the date is one month ahead, time information is not available
· Bug #16772: status.jsp should be less chatty in production environments
· Bug #16783: more.jsp garbles matches on lines crossing internal JFlex buffer boundary
· Bug #16786: Control for User Information Provider URL (userPage)
· Bug #16833: Subversion repositories disabled by default
· Bug #16848: Search context is displayed in lower case
· Bug #16883: ShXref should reset stack on reuse
· Bug #16891: Unneeded files included in opengrok.jar
· Bug #16892: Maven build includes management client source in jar
· Bug #16893: Maven build includes SQLXref.lex
· Bug #16909: Move JFlex generated sources to default location (Maven)
· Bug #16913: OpenGrok fails to use JDBC cache if -R option is specified
· Bug #16961: Definitions should have serialVersionUID
· Bug #16986: Relative path for data root and source root has stopped working
· Bug #17074: Home link no longer works
· Bug #17127: OpenGrok leaving too many open files
· Bug #17128: add more syntax highlighting styles and list all definitions/functions
· Bug #17169: enable wildcard prefix search in OpenGrok script by default
· Bug #17294: show progress on demand
· Bug #17349: path needs to be percent encoded
· Bug #17373: breadcrumb path needs to be URI encoded
· Bug #17374: history links need percent encoding
· Bug #17375: annotate link needs percent encoding
· Bug #17376: download link needs percent encoding
· Bug #17378: Please remove email obfuscation
· Bug #17550: Malformed search for query with national chars
· Bug #17551: Double-click on some project in project list doesn't work in Internet Explorer
· Bug #17554: Empty "Navigate" window in Perl code
· Bug #17582: context shown in hits doesn't show symbol type for non lowercased symbols
· Bug #17631: Cookie name "OpenGrok/project" is a reserved token