Add contributing docs

Reviewed By: danielbuechele

Differential Revision: D6976258

fbshipit-source-id: 71b3d0ab4a071ce0c4a9c1241cd6295aa6d52b8e
This commit is contained in:
Emil Sjölander
2018-02-13 07:06:31 -08:00
committed by Facebook Github Bot
parent 49f1d7b5f6
commit cac77e5ffa
6 changed files with 94 additions and 29 deletions

View File

@@ -4,4 +4,52 @@ title: "Opening a Pull Request"
hasPlayground: false
---
## Opening a Pull Request
# Opening a Pull Request
Before opening your first pull request to Yoga you have to know how to get the code,
install build time dependencies, and test the code locally.
### Clone
```
$> git clone https://github.com/facebook/yoga.git
$> cd yoga
```
### Install dependencies
```
$> git submodule init
$> git submodule update
$> brew install buck
```
### Build and Test
```
$> buck build //:yoga
$> buck test //:yoga
```
## Making a Change
Now all you need to do is make your change and test it before submitting a pull request for review.
Below is the general structure of the repo and where you may want to make your change. One you have
made your change see the [testing documentation](/contributing/testing) for more on how to test your change.
``` bash
/yoga
|-- yoga # Home to the main Yoga codebase written in C++. Any algorithmic changes should be made here
|-- lib # Yoga external dependencies. Be thoughtful adding any new ones
|-- tests # Yoga's C++ test suite. Both manaul and generated tests
|-- gentest
| |-- fixtures # html fixtures for generated tests
|-- java
| |-- com/facebook/yoga # Java binding code
| |-- jni # JNI binding code
|-- yogacore # Android bindings without View support
|-- android # Android View bindings
|-- YogaKit # iOS UIView bindings
|-- javascript # emscripten / javascript bindings
|-- csharp # .NET bindings in c#
```