OpenGrok (source code indexer)

Registered by James Hunt on 2011-05-06

OpenGrok is a source code indexer and search tool written in Java. In a nutshell:

   OpenGrok = ctags + tomcat + lucene

* http://hub.opensolaris.org/bin/view/Project+opengrok/WebHome
* Feature-rich:
  * http://en.wikipedia.org/wiki/OpenGrok
  * Language support is very good: http://ctags.sourceforge.net/languages.html

This blueprint is to discuss the possibilities of:

1) Getting OpenGrok packaged for Ubuntu

2) Having OpenGrok run on a domain such as code.ubuntu.com
     This would be like http://google.com/codesearch but the dream is to allow users/developers to search:

    - across all files
    - in all package versions
    - in all releases
    - in all repositories
    - in all launchpad branches
    - in Ubuntu and Debian (atleast)

Blueprint information

Status:
Not started
Approver:
Robbie Williamson
Priority:
Undefined
Drafter:
James Hunt
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Deferred
Milestone target:
None

Related branches

Sprints

Whiteboard

[james-page]
Packaging Status:
Some work on opengrok in debian already - however currently blocked by lack of lucene3 packaging; again this is WIP.

Work items:
[james-page] Package lucene3: TODO
Setup a test system indexing natty: TODO
Gather metrics for test system (disk space, indexing time (full+partial), CPU utilization, etc): TODO
Work with IS to identify approximate storage, CPU and RAM requirements for (atleast) natty+oneiric for code.ubuntu.com: TODO
Formally request code.ubuntu.com domain and appropriate servers: TODO
Work with Design Teams to ensure OpenGrok pages are suitably themed: TODO
Work with IS to configure code.ubuntu.com: TODO

Considerations:

- Indexing is very memory intensive. Do we need 2 servers, one (back-end) for indexing and one for serving code.ubuntu.com queries?
- write a .deb analyser? Not essential initially, but could be useful. See OpenGrok source directory src/org/opensolaris/opengrok/analysis/archive/ for examples.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.