This document contains advice about developing patches for Flume.

This document will be updated as more infrastructure is put in place.

Getting the source

 
svn co http://svn.apache.org/repos/asf/incubator/flume/trunk flume-trunk 

Alternately if you prefer using git

 
git clone git://git.apache.org/flume.git 

Contributing changes

Code Quality

Code added to Flume should meet the following code quality metrics:

 
/** Holds some example code formatting. */ 
class ExampleClass { 
/** Does some thing. 
* @param someArg you are encouraged to document arguments with @param. 
* @returns is also an encouraged metadata tag in public methods. 
*/ 
public void someMethod(int someArg) { 
// Note two spaces indenting each time. No tabs! 
someMethodCall(this, has, many, 
args); // Four space indent here. 
if (someCondition) { 
// Use a space after 'if' and before '('. 
// Use complete sentences in comments. 
// Do not use /* .. */ for text comments. Only use //-comments. 
} else { 
// If and else blocks are always surrounded by { .. }. 
// (i.e., follow the One True Brace Style.) 
} 
} 
} 

Reviewboard

We use reviewboard for code reviews. It is highly encouraged for all patches – patches submitted to reviewboard are easier to review and comment on. Our reviewboard server is at http://reviews.apache.org.

Instructions for Committers

TODO