Index: site/dev/design/sync-and-gyp.md |
diff --git a/site/dev/design/sync-and-gyp.md b/site/dev/design/sync-and-gyp.md |
new file mode 100644 |
index 0000000000000000000000000000000000000000..894ad9a5c0d3e51a2e8363f12e18edc157fe5e89 |
--- /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. |