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
56 lines
1.6 KiB
Markdown
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#
|
|
```
|