THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Note |
---|
This document will be updated as more infrastructure is put in place. |
Getting the source
- Check out the code using SVN. The repository's root lives here. Most development happens under the 'trunk' so this command line can be used.
Code Block |
---|
svn co http://svn.apache.org/repos/asf/incubator/flume/trunk flume-core-trunk |
Contributing changes
- Before you start, describe your proposed changes and check that they fit in with what others are doing and have planned for the project. Be patient, it may take folks a while to understand your requirements. This can be done by
- sending a message to the <dev-flume AT SPAMFREE incubator DOT apache DOT org> Flume developer mailing list,
- filing a bug report in Flume issue tracker JIRA, or
- Alternately, if you are interested in contributing you can find an existing issue one to work on. If you are just starting, we'd suggest you pick an "Easy" issue
- Make your changes. These should include unit tests. Big changes should be discussed ahead of time, some up front design documentation may be necessary.
- Make sure your changes pass the required code quality metrics (see below)
- Create a single commit containing all your changes and a descriptive commit message (what files/classes did you add/remove; what tests did you add; what functionality does this include; etc). If you made multiple commits during your development process, squash them down to a single commit patch.
- Create a patch with your changes and commit message information:
Code Block *TODO*
- Post patch to Reviewboard for code review. (see below)
- Upload patch to JIRA granting license to Apache and put link to specific code review to the in the comments.
- Update the issue in JIRA to reflect status "patch available".
- Iterate with revised changes, etc.
- When it's ready, a committer will push it to the repository and mark the issue as "Resolved/Fixed" in JIRA.
Code Quality
Code added to Flume should meet the following code quality metrics:
...
Code Block |
---|
/** 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. Our reviewboard server is at http://reviews.apache.org.
- Create a new account for yourself.
- Sign up for the "Flume" review group if you would like to receive email when new patches are posted. (Reviews are also posted to the flume-dev mailing list.)
- Create a new review. This requires creating a diff against the master branch and then uploading the patch.
- The repository should be set to "flume".
- Add the group "flume" to the Reviewer Groups list (otherwise we won't see it).
- Describe your changes and the test plan you implemented and executed.
- Put the JIRA issue number (e.g., "FLUME-10") in the "bugs" list.
- Make sure to hit "Publish" when you're ready.
Instructions for Committers
TODO