Skip to content

Development documentation

jmhsieh edited this page Sep 14, 2010 · 11 revisions

Compiling Flume

Compiling Flume requires the following tools:

  • Java JDK 1.6
  • Apache ant (1.7.1)

To compile Flume, run `ant`.

Development procedures

This section documents the development procedures used and required to push to code to cloudera/flume master.

The core flume team:

  • jmhsieh – Jon Hsieh
  • hernyr – Henry Robinson
  • phunt – Patrick Hunt

If you would like to submit patches that will be integrated as part of the flume trunk, we use a few lightweight mechanisms to track and ensure code quality.

The patches ideally meet the following criteria:

  • must pass all test cases cleanly.
  • should have a corresponding jira issue filed here .
  • should introduce no findbugs errors.
  • should not include any new libraries into core unless agreed upon in the jira. New libraries for build/test should be added and grabbed via ivy. New libraries that are ASF/MIT/BSD licensed can be included in plugins.

We use reviewboard for code reviews, hosted here . Ideally there would be a link in the jira to our reviewboard instance:

  • please add a comment to the jira saying that the issue’s patch is up for review.
  • comments will be annotated in code.
    • If it is marked ‘ship it!’, it is ready to be pushed to trunk (cloudera/flume).
    • The flume team will likely cleanup trivial/minor issues, but if there are pervasive or design issues this may be several iterations. It helps to add comments about a design if it is something that is not easily compartmentalized.
  • A member of the core flume team will add a comment saying the patch has been added to the issue and then the issue will be closed.

TODO:
Code conventions
Comment conventions

Clone this wiki locally