OLD | NEW |
---|---|
1 Skia Quickstart Guide | 1 Skia Quickstart Guide |
2 ===================== | 2 ===================== |
3 | 3 |
4 This guide assumes you've got `gclient`, `git`, and `ninja` on your path. | 4 This guide assumes you've got `git`, `ninja`, and `python` on your path. |
5 | 5 |
6 1. First, create a directory to hold Skia: | 6 1. First, checkout Skia: |
7 * `mkdir skia` | 7 * `git clone https://skia.googlesource.com/skia.git` |
8 * `cd skia` | 8 * `cd skia` |
9 2. Then checkout Skia: | 9 2. Then download the dependencies. You only need to rerun this when |
10 * `gclient config --name . https://skia.googlesource.com/skia.git` | 10 the dependencies change. |
11 * `gclient sync` | 11 * `python tools/git-sync-deps` |
borenet
2014/04/20 16:53:45
Yeah, this isn't right. "gclient sync" is still t
| |
12 3. Create our Ninja build files from our Gyp meta-build files. You only need | 12 3. Create our Ninja build files from our Gyp meta-build files. You only need |
13 to rerun this when you sync or change a `.gyp` file. | 13 to rerun this when you sync or change a `.gyp` file. |
14 * `GYP_GENERATORS=ninja ./gyp_skia` | 14 * `GYP_GENERATORS=ninja ./gyp_skia` |
15 4. Now, let's build Skia. There are a few options: | 15 4. Now, let's build Skia. There are a few options: |
16 * `ninja -C out/Debug`: no optimization, asserts enabled | 16 * `ninja -C out/Debug`: no optimization, asserts enabled |
17 * `ninja -C out/Release`: optimization, asserts disabled | 17 * `ninja -C out/Release`: optimization, asserts disabled |
18 * `ninja -C out/Coverage`: no optimization, asserts enabled, code coverage g enerated | 18 * `ninja -C out/Coverage`: no optimization, asserts enabled, code coverage g enerated |
19 5. Run some tests: | 19 5. Run some tests: |
20 * `out/Debug/tests`: runs unit tests from tests/ | 20 * `out/Debug/tests`: runs unit tests from tests/ |
21 * `out/Debug/dm`: runs golden master tests from gm/ | 21 * `out/Debug/dm`: runs golden master tests from gm/ |
22 6. Make some changes: | 22 6. Make some changes: |
23 * `git checkout -b my-new-feature origin/master` | 23 * `git checkout -b my-new-feature origin/master` |
24 * `vim src/...` | 24 * `vim src/...` |
25 * `git commit -am "Changes for my new feature."` | 25 * `git commit -am "Changes for my new feature."` |
26 * `vim tests/...` | 26 * `vim tests/...` |
27 * `git commit --amend -a` | 27 * `git commit --amend -a` |
28 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok` | 28 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok` |
29 7. Rebase your change onto the latest Skia code: | 29 7. Rebase your change onto the latest Skia code: |
30 * `git pull --rebase` | 30 * `git pull --rebase` |
31 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok` | 31 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok` |
32 8. Upload your change and send it out for review: | 32 8. Upload your change and send it out for review: |
33 * `git cl upload -r my-skia-reviewer@google.com -s` | 33 * `git cl upload -r my-skia-reviewer@google.com -s` |
34 * `git cl web` | 34 * `git cl web` |
35 9. Go through code review, get an LGTM, submit using the checkbox on the code re view page. | 35 9. Go through code review, get an LGTM, submit using the checkbox on the code re view page. |
OLD | NEW |