GithubHelp home page GithubHelp logo

pombredanne / opengrok-2 Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 60 KB

Mirror of juju charm, pull requests and modifications welcome!

Home Page: http://jujucharms.com/charms/precise/opengrok

License: Other

opengrok-2's Introduction

"A wicked fast source browser"

OpenGrok is a fast and usable 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
Mercurial, Git, SCCS, RCS, CVS, Subversion, Teamware, ClearCase, Perforce,
Monotone and Bazaar. In other words it lets you grok (profoundly understand)
source code and is developed in the open, hence the name OpenGrok. It is
written in Java.

To deploy:

    juju bootstrap
    juju deploy opengrok
    juju expose opengrok

Then do a `juju status` to determine the IP of the service, and
gvfs-open http://IPADDRESS:8080/source (open browser by mime type).

The opengrok charm uses a standalone tomcat6 instance and is very space,
I/O, and CPU intensive. It is not recommended to co-op this service with
an existing servlet engine unless you really know what you're doing. A
"large" instance is recommended for anything more than a 100MB source code.

To configure:
    juju set opengrok og_content='{
>       "repos":[
>         {
>           "url"   : "lp:juju",
>           "alias" : "juju"
>         }
>        ]
>     }'

Or use the deploy.yaml as a template:
    juju set opengrok --config deploy.yaml

Only bzr, lp, & git repos are supported at this time. You can add as many repos as
you wish, see deploy.yaml for example. Config format is simple JSON array, to add
more entries simply duplicate the { "url" : "value", "alias" : "value"} and separate
them with a ",". Both fields are required as opposed to developing heuristics to
determine unique project names, we require you define it upfront. Otherwise,
lp:foo/precise/opengrok/trunk and lp:/foo/quantal/opengrok/trunk both checkout
a directory named trunk and there's no way to determine which project was actually
cloned.

The indexer will automatically kick off to update the project and database after
deploy has completed and whenever a new configuration is provided via the juju
interface.

To check on the status of the indexer

    juju ssh opengrok/INSTANCE_ID initctl status opengrok-index
    
    opengrok-index start/running, process 10090

A daily cronjob is installed to update the indexes.

When reporting bugs please be sure to include: /var/log/juju/opengrok-common.log

Known Issues:
 * To maintain idempotent contract, config-changed is completely synchronous.
   Meaning it will not exit until all specified branches have been cloned and
   the indexing has completed. config-changed may abort due to an unspecified
   deadline timer, there is no way to extend this timer. Should you encounter
   this, 1) file a bug 2) ssh into the instance and clone/index the tree directly.
    * cloning & indexing Linux kernels (~30 mins) may hit this issue.
    * To update these "off config" trees:
     - juju ssh opengrok/N
     - sudo -i
     - initctl start --no-wait opengrok-index

 * While only git and bzr are supported by config-changed. You can ssh in
   and install any VCS you wish and clone into $grok_src. config-changed skips
   over any existing directories and the charm never destroys user data in
   $grok_src.

 * A bug was discovered with the history index building and has been disabled
   in the meanwhile by this charm. Tracked upstream by:

    http://defect.opensolaris.org/bz/show_bug.cgi?id=19245

    NOTE: a dedicated opensolaris login is required to update bugs. OpenID is
          unsupported.

 * Updating existing sandboxes: currently this is a manual affair, eventually a
   cron job will exist that will walk sandboxes, pull them and kickoff an update

Links:
 * Stable opengrok-charm:      lp:~peter-petrakis/charms/precise/opengrok/trunk
 * Developemnt opengrok-charm: lp:~peter-petrakis/charms/precise/opengrok/devel
 * Homepage: http://hub.opensolaris.org/bin/view/Project+opengrok/
 * BugTracker: http://defect.opensolaris.org/bz/describecomponents.cgi?product=opengrok
 * Binary: http://hub.opensolaris.org/bin/download/Project+opengrok/files/opengrok-0.11.1.tar.gz
 * Code: hg clone ssh://[email protected]/hg/opengrok/trunk opengrok-dev
# vim:ts=4:sw=4:et:

opengrok-2's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.