Files
yoga/website/contents/contributing/opening-a-pull-request.md

56 lines
1.6 KiB
Markdown
Raw Normal View History

---
path: "/contributing/opening-a-pull-request"
title: "Opening a Pull Request"
hasPlayground: false
---
# 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#
```