blob: 554ea488369a258c02031732c5dc8bbf6a844389 [file] [log] [blame] [view]
commit-bot@chromium.org8f220112014-01-24 19:25:39 +00001Skia Quickstart Guide
2=====================
3
4This guide assumes you've got `gclient`, `git`, and `ninja` on your path.
5
61. First, create a directory to hold Skia:
7 * `mkdir skia`
8 * `cd skia`
92. Then checkout Skia:
10 * `gclient config --name . https://skia.googlesource.com/skia.git`
11 * `gclient sync`
123. 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.
14 * `GYP_GENERATORS=ninja ./gyp_skia`
154. Now, let's build Skia. There are a few options:
16 * `ninja -C out/Debug`: no optimization, asserts enabled
17 * `ninja -C out/Release`: optimization, asserts disabled
18 * `ninja -C out/Coverage`: no optimization, asserts enabled, code coverage generated
195. Run some tests:
20 * `out/Debug/tests`: runs unit tests from tests/
21 * `out/Debug/dm`: runs golden master tests from gm/
226. Make some changes:
23 * `git checkout -b my-new-feature origin/master`
24 * `vim src/...`
25 * `git commit -am "Changes for my new feature."`
26 * `vim tests/...`
27 * `git commit --amend -a`
28 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok`
297. Rebase your change onto the latest Skia code:
30 * `git pull --rebase`
31 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok`
328. Upload your change and send it out for review:
33 * `git cl upload -r my-skia-reviewer@google.com -s`
34 * `git cl web`
359. Go through code review, get an LGTM, submit using the checkbox on the code review page.