Files
yoga/website/contents/contributing/opening-a-pull-request.md
Nick Gerleman c96564d23d Fix License Headers and Whitespace
Summary: This change applies all Arcanist recommended lint changes, which amounts to changing copyright headers and some cases of whitespace changes.

Reviewed By: yungsters

Differential Revision: D40060899

fbshipit-source-id: b62f9472e6ef58a3fc3d22eed661578a2635cb1f
2022-10-04 13:59:32 -07:00

56 lines
1.6 KiB
Markdown

---
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#
```