aboutsummaryrefslogtreecommitdiffhomepage
path: root/site
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2016-02-24 10:50:35 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-02-24 10:50:35 -0800
commit1cc345f6994c6817f47d712ef8e85b76337d44e3 (patch)
treee492ed3509d01ad05957a2cdbb0d5944e8d2ce81 /site
parentf156ea3c3edf4208ebfcb7761135768a840185d0 (diff)
Documentation: sync-and-gyp design document
Diffstat (limited to 'site')
-rw-r--r--site/dev/design/sync-and-gyp.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/site/dev/design/sync-and-gyp.md b/site/dev/design/sync-and-gyp.md
new file mode 100644
index 0000000000..894ad9a5c0
--- /dev/null
+++ b/site/dev/design/sync-and-gyp.md
@@ -0,0 +1,24 @@
+sync-and-gyp
+============
+
+[`sync-and-gyp`](https://skia.googlesource.com/skia.git/+/master/bin/sync-and-gyp)
+is a Python program that wraps `gclient sync` and `gyp_skia`.
+Motivations for using it:
+
+- Fewer steps to configure and compile Skia and Skia's dependencies.
+ This makes documentation cleaner, too.
+
+- Written in Python, so it will work on all platforms. Python is
+ already necessary for gyp.
+
+- Sets up gclient better than `gclient config`, which has been broken.
+
+- Checks to see if the `DEPS` file has changed since it last ran
+ `gclient sync`. If not, it skips that step.
+
+- Checks to see if gyp needs to be re-run (it checks environment
+ variables and changed or added files); if not, it skips running
+ `gyp_skia`.
+
+- Since running `sync-and-gyp` is fast when it can do nothing, it is
+ easy to do before every recompile of Skia. This is a good habit.