| OLD | NEW |
| (Empty) |
| 1 # GYP Hacking | |
| 2 | |
| 3 Note that the instructions below assume that you have the Chromium | |
| 4 [depot tools](http://dev.chromium.org/developers/how-tos/depottools) | |
| 5 installed and configured. | |
| 6 If you don't, you do not pass go, and you cannot collect your $200. | |
| 7 | |
| 8 ## Getting the sources | |
| 9 | |
| 10 Best is to use git to hack on anything, you can set up a git clone of GYP | |
| 11 as follows: | |
| 12 | |
| 13 ``` | |
| 14 git clone https://chromium.googlesource.com/external/gyp.git | |
| 15 cd gyp | |
| 16 ``` | |
| 17 | |
| 18 ## Testing your change | |
| 19 | |
| 20 GYP has a suite of tests which you can run with the provided test driver | |
| 21 to make sure your changes aren't breaking anything important. | |
| 22 | |
| 23 You run the test driver with e.g. | |
| 24 | |
| 25 ``` | |
| 26 python gyptest.py | |
| 27 python gyptest.py test/win # Only run Windows-related tests. | |
| 28 python gyptest.py -a -f ninja # Only run ninja-related tests. | |
| 29 ``` | |
| 30 | |
| 31 See [Testing](Testing) for more details on the test framework. | |
| 32 | |
| 33 Note that it can be handy to look at the project files output by the tests | |
| 34 to diagnose problems. The easiest way to do that is by kindly asking the | |
| 35 test driver to leave the temporary directories it creates in-place. | |
| 36 This is done by setting the enviroment variable "PRESERVE", e.g. | |
| 37 | |
| 38 ``` | |
| 39 set PRESERVE=all # On Windows | |
| 40 export PRESERVE=all # On saner platforms. | |
| 41 ``` | |
| 42 | |
| 43 ## Reviewing your change | |
| 44 | |
| 45 All changes to GYP must be code reviewed before submission, GYP uses rietveld. | |
| 46 | |
| 47 Upload your change with: | |
| 48 | |
| 49 ``` | |
| 50 git cl upload | |
| 51 ``` | |
| 52 | |
| 53 ## Submitting | |
| 54 | |
| 55 Once you're ready to submit, you can use the GYP try bots to test your change | |
| 56 with e.g. | |
| 57 | |
| 58 ``` | |
| 59 git try | |
| 60 ``` | |
| 61 | |
| 62 Once the change has been approved (LGTMed) and passes trybots, you can submit | |
| 63 it with: | |
| 64 | |
| 65 ``` | |
| 66 git cl land | |
| 67 ``` | |
| 68 | |
| 69 To be allowed to submit, you will need committer rights in the project. You | |
| 70 need to do the new password dance at | |
| 71 https://chromium.googlesource.com/new-password . | |
| 72 | |
| 73 ## Migrating from an old with-svn checkout | |
| 74 | |
| 75 Remove the [svn] entry from .git/config, and the .git/svn subdirs to avoid | |
| 76 having `git cl land` complain that it looks like the repo is a SVN one. It might | |
| 77 be easier to just repull instead. | |
| OLD | NEW |