Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(480)

Unified Diff: docs/Hacking.md

Issue 1047413002: Migrate GYP docs over from the wiki. (Closed) Base URL: https://chromium.googlesource.com/external/gyp@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « docs/GypVsCMake.md ('k') | docs/InputFormatReference.md » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: docs/Hacking.md
diff --git a/docs/Hacking.md b/docs/Hacking.md
new file mode 100644
index 0000000000000000000000000000000000000000..868ecee640d5cf116cd97cdf529547e15ad7abf5
--- /dev/null
+++ b/docs/Hacking.md
@@ -0,0 +1,102 @@
+# GYP Hacking
+
+Note that the instructions below assume that you have the Chromium
+[depot tools](http://dev.chromium.org/developers/how-tos/depottools)
+installed and configured.
+If you don't, you do not pass go, and you cannot collect your $200.
+
+## Getting the sources
+
+Best is to use git to hack on anything, you can set up a git clone of GYP
+as follows:
+
+```
+git clone https://chromium.googlesource.com/external/gyp.git
+cd gyp
+git svn init --prefix=origin/ -T trunk http://gyp.googlecode.com/svn/
+git config --replace-all svn-remote.svn.fetch trunk:refs/remotes/origin/master
+git svn fetch
+```
+
+At this point you should get a quick stream of output as git-svn rebuilds
+it's SVN version->SHA1 database:
+
+```
+Rebuilding .git/svn/refs/remotes/origin/master/...
+r1 = 880a7f243635258fa4938bb7ebf9b4d5f46e3e48
+r2 = 24a2a4ceedce0ae16d0a107d9898e4828775c633
+r3 = 41276136692399ac4bb84c6664d02384fcad70ad
+```
+
+If you get slow trickling output with a bunch of file names as such:
+
+```
+r1 = 880a7f243635258fa4938bb7ebf9b4d5f46e3e48 (refs/remotes/git-svn)
+ A xc.py
+```
+
+then these instructions are out of date, and you're re-downloading
+the entire version history from SVN. Please update these instructions
+once you've figured out what's up.
+
+If you intend to commit your changes back to the GYP SVN repository,
+you need to configure git-svn's commit url.
+
+```
+git config svn-remote.svn.commiturl https://gyp.googlecode.com/svn/trunk
+```
+
+## Testing your change
+
+GYP has a suite of tests which you can run with the provided test driver
+to make sure your changes aren't breaking anything important.
+
+You run the test driver with e.g.
+
+```
+python gyptest.py
+python gyptest.py test/win # Only run Windows-related tests.
+python gyptest.py -a -f ninja # Only run ninja-related tests.
+```
+
+See [Testing](Testing) for more details on the test framework.
+
+Note that it can be handy to look at the project files output by the tests
+to diagnose problems. The easiest way to do that is by kindly asking the
+test driver to leave the temporary directories it creates in-place.
+This is done by setting the enviroment variable "PRESERVE", e.g.
+
+```
+set PRESERVE=all # On Windows
+export PRESERVE=all # On saner platforms.
+```
+
+## Reviewing your change
+
+All changes to GYP must be code reviewed before submission, GYP uses rietveld.
+
+Upload your change with:
+
+```
+git cl upload
+```
+
+## Submitting
+
+Once you're ready to submit, you can use the GYP try bots to test your change
+with e.g.
+
+```
+git try
+```
+
+Once the change has been approved (LGTMed) and passes trybots, you can submit
+it with:
+
+```
+git cl dcommit
+```
+
+To be allowed to submit, you will need committer rights in the project, and
+your password for the SVN server. You can get that password here:
+https://code.google.com/hosting/settings
« no previous file with comments | « docs/GypVsCMake.md ('k') | docs/InputFormatReference.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698