samoa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gdfm <>
Subject [GitHub] incubator-samoa pull request: SAMOA-13: Update "How to contribute"...
Date Fri, 06 Mar 2015 15:35:10 GMT
Github user gdfm commented on a diff in the pull request:
    --- Diff: ---
    @@ -1,18 +1,74 @@
     How to contribute?
    -User contribution is essential to keep moving the project forward.
    +The best way to submit a contribution to Apache SAMOA is through a GitHub pull request.
    -# Getting Started
    +Here is a guide to contribute to Apache SAMOA. 
    -1. [Fork the repository]( on GitHub
    +## Where is the source code?
    -2. Sign the [Contributor License Agreement] (
    +SAMOA source code is maintained through **git**. The Apache SAMOA [git repository](git://
is the source of truth. Only SAMOA committers can push updates to this repo.
    -3. Create a feature branch ```git checkout -b branch_name```
    +The Apache git repo is [mirrored to github](
for convenience. This mirror is read-only.
    -4. Make your changes (please make commits that are logical units)
    +For writing contributions we suggest you start by [forking](
the [GitHub Apache SAMOA]( repository.
    -5. Build and run tests
    +## How do I build the software?
    -6. Submit a [pull request](
    +We use [**maven**]( `mvn clean install` 
    +Note that this only builds the core artifacts of SAMOA (instances, API, local engine
and test framework). 
    +To build everything, including the integrations with various stream processing platforms
use the "all" profile: `mvn clean install -Pall`
    +You may also specify platform profiles individually: `-Pstorm`, `-Ps4`, `-Psamza`, `-Pthreads`.
    +## What rules should I follow in a code contribution?
    +### Coding convention
    +* All public classes and methods should have informative Javadoc comments.
    +* Do not use @author tags.
    +* Code should be formatted according to [Sun's conventions](,
with the following exceptions:
    +	* **Use spaces for indentation, not tabs**
    +	* **Indent two (2) spaces per level, not four (4).**
    +  	* **Line length limit is 120 chars, instead of 80 chars.**
    +* SAMOA includes an eclipse-format.xml formatting template that eclipse or intellij idea
users might find convenient.
    +* Prefer qualified imports to wildcard imports
    +### Tests
    +* Contributions should pass existing unit tests (`mvn test`).
    +* New unit tests should be provided to demonstrate bugs and fixes. JUnit 4.1 is our test
    +### Organization of the code changes
    +Most natural way is to :
    +1. create a new feature branch in your local git repo, e.g. using a JIRA ticket ID as
the branch name 
    +2. make code changes and separate the commits into logical units
    +3. submit a pull request from that feature branch
    +## How do I submit a contribution?
    +Once you have a contribution that follows the coding convention, passes the tests, and
is organized into logical commits, you may submit a pull request.
    +The recommended way is to submit a pull request **through GitHub.**
    +1. Get a JIRA reference: 
    +	1. if your contribution has no JIRA ticket, create a new JIRA ticket, describing the
issue (see [^1] for how to do this).
    +	2. otherwise note the existing JIRA ticket ID ( e.g. `SAMOA-XX` )
    +1. create a pull request from your contribution, and submit it through the github interface
to the github SAMOA mirror repo. Make sure to **include the JIRA ticket ID in the description
of the pull request**, so that the JIRA ticket is automatically updated. e.g.: `SAMOA-XX :
Fixes XYZ` 
    +The patch will be reviewed and voted upon, according to the project's bylaws ([currently
being defined](
    +[^1]: You need to be logged into ASF's JIRA and use the create button on [this page](
    --- End diff --
    Maybe remove the GET parameters in the URL?

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at or file a JIRA ticket
with INFRA.

View raw message