[ 
https://issues.apache.org/jira/browse/SAMOA-13?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14350475#comment-14350475
 ] 

ASF GitHub Bot commented on SAMOA-13:
-------------------------------------

Github user gdfm commented on a diff in the pull request:

    https://github.com/apache/incubator-samoa/pull/6#discussion_r25952157
  
    --- Diff: CONTRIBUTING.md ---
    @@ -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](https://help.github.com/articles/fork-a-repo) on 
GitHub
    +## Where is the source code?
     
    -2. Sign the [Contributor License Agreement] 
(http://www.clahub.com/agreements/gdfm/samoa)
    +SAMOA source code is maintained through **git**. The Apache SAMOA [git 
repository](git://git.apache.org/incubator-samoa.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](https://github.com/apache/incubator-samoa) 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](https://help.github.com/articles/fork-a-repo) the [GitHub Apache 
SAMOA](https://github.com/apache/incubator-samoa) repository.
     
    -5. Build and run tests
    +## How do I build the software?
     
    -6. Submit a [pull 
request](https://help.github.com/articles/using-pull-requests)
    +We use [**maven**](http://maven.apache.org/): `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](http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html),
 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 framework
    +
    +### 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](https://issues.apache.org/jira/browse/SAMOA-5))
    --- End diff --
    
    Now we have bylaws, can link to them directly.


> Create "how to contribute" guide
> --------------------------------
>
>                 Key: SAMOA-13
>                 URL: https://issues.apache.org/jira/browse/SAMOA-13
>             Project: SAMOA
>          Issue Type: Task
>            Reporter: Matthieu Morel
>            Assignee: Matthieu Morel
>
> Given that we'd prefer contributions through github, we should update the 
> CONTRIBUTING.md file at the root of the project.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to