How to Contribute

Welcome to create pull requests or join in our mailing list for bugfix, doc, example, suggestion and anything.

Join in Weex Mailing List

In Weex community all discussion will happen on mailing list.

Just send an email to dev-subscribe@weex.incubator.apache.org and follow the instructions to subscribe Weex dev mailing list. And then you will receive all discussions and community messages by your personal email. In the same time you can freely send your own emails to join in us.

At the same time you can see the archives of all the mails through the web: http://mail-archives.apache.org/mod_mbox/incubator-weex-dev/

If you won't follow the mailing list any more. There is another way to unsubscribe it: send an email to dev-unsubscribe@weex.incubator.apache.org and follow the instructions.

Besides Weex dev mailing list, we also have some other mailing lists for you. You can check them out here: http://mail-archives.apache.org/mod_mbox/#weex.incubator

Branch Management

master
 ↑
dev         <--- PR(hotfix/typo/3rd-PR)
 ↑ PR
{domain}-feature-{date}
  1. master branch 0. master is the latest (pre-)release branch.
  2. dev branch 0. dev is the stable developing branch. 0. It's RECOMMENDED to commit hotfix (like typo) or feature PR to dev.
  3. {domain}-feature-{date} branch 0. The branch for a developing iteration, e.g. android-feature-20160607 is an android developing iteration which is done at 2016.06.07. {domain} consists of android, ios, jsfm and html5. 0. DO NOT commit any PR to such a branch.

Branch Name

{module}-{action}-{shortName}
  • {module}, see commit log module
  • {action}
    • feature: checkout from {module} and merge to {module} later. If {module} not exists, merge to dev
    • bugfix: like feature, for bugfix only
    • hotfix: checkout from master or release tag, merge to master and {module} later. If {module} not exists, merge to dev

for example:

  • android-bugfix-memory
  • jsfm-feature-communication
  • android-hotfix-compute-layout

Commit Log

{action} [{module}] {description}
  • {action}
    • + add
    • * update or bugfix
    • - remove
  • {module}
    • Including: android, ios, jsfm, html5, component, doc, website, example, test, all
  • {description}
    • Just make it as clear and simple as possible.

for example:

  • + [android] close #123, add refreshing for WebView
  • * [doc] fix #123, update video auto-play property
  • - [example] remove abc

Pull Request

You can create pull requests in GitHub.

  1. First we suggest you have some discussion with the community (commonly in our mailing list) before you code.
  2. Fork repo from https://github.com/apache/incubator-weex/
  3. Finish the job you want to do.
  4. Create a pull request.

Code Style Guide

Objective-C

  • Tabs for indentation(not spaces)
  • * operator goes with the variable name (e.g. Type *variable;)
  • Function definitions: place each brace on its own line.
  • Other braces: place the open brace on the line preceding the code block; place the close brace on its own line.
  • Use #pragma marks to categorize methods into functional groupings and protocol implementations
  • Follow other guidelines on GitHub Objective-C Style Guide

Java & Android