WARNING: Several steps in this guide are out of sync with our automatically- tested, officially-supported processes for checking out and building Skia. The officially supported processes are the ones documented in skiadocs; see https://sites.google.com/site/skiadocs/user-documentation/quick-start-guides
The steps documented within this file are more experimental in nature.
This guide assumes you've got git
, ninja
, and python
on your path.
git clone https://skia.googlesource.com/skia.git
cd skia
python tools/git-sync-deps
.gyp
file.GYP_GENERATORS=ninja ./gyp_skia
ninja -C out/Debug
: no optimization, asserts enabledninja -C out/Release
: optimization, asserts disabledninja -C out/Coverage
: no optimization, asserts enabled, code coverage generatedout/Debug/tests
: runs unit tests from tests/out/Debug/dm
: runs golden master tests from gm/git checkout -b my-new-feature origin/master
vim src/...
git commit -am "Changes for my new feature."
vim tests/...
git commit --amend -a
ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok
git pull --rebase
ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok
git cl upload -r my-skia-reviewer@google.com -s
git cl web