These docs refer to commands that are really out of date, and most likely don't even...
[chromium-blink-merge.git] / DEPS
blob9e7269424551227cb2219ef54fca55772900ef1d
1 # This file is automatically processed to create .DEPS.git which is the file
2 # that gclient uses under git.
4 # See http://code.google.com/p/chromium/wiki/UsingGit
6 # To test manually, run:
7 #   python tools/deps2git/deps2git.py -o .DEPS.git
8 #   gclient runhooks
9 # DO NOT CHECK IN CHANGES TO .DEPS.git. It will be automatically updated by
10 # a bot when you modify this one.
12 # When adding a new dependency, please update the top-level .gitignore file
13 # to list the dependency's destination directory.
15 vars = {
16   # Use this googlecode_url variable only if there is an internal mirror for it.
17   # If you do not know, use the full path while defining your new deps entry.
18   "googlecode_url": "http://%s.googlecode.com/svn",
19   "sourceforge_url": "http://svn.code.sf.net/p/%(repo)s/code",
20   "webkit_trunk": "http://src.chromium.org/blink/trunk",
21   "nacl_trunk": "http://src.chromium.org/native_client/trunk",
22   "webkit_revision": "161254",
23   "chromium_git": "https://chromium.googlesource.com",
24   "chromiumos_git": "https://chromium.googlesource.com/chromiumos",
25   "skia_git": "https://skia.googlesource.com",
26   "swig_revision": "230490",
27   "nacl_revision": "12352",
28   # After changing nacl_revision, run 'glient sync' and check native_client/DEPS
29   # to update other nacl_*_revision's.
30   "nacl_tools_revision": "12289",  # native_client/DEPS: tools_rev
31   "gtm_revision": "616",
33   "libphonenumber_revision": "621",
34   "libvpx_revision": "232686",
35   "lss_revision": "24",
37   # These two FFmpeg variables must be updated together.  One is used for SVN
38   # checkouts and the other for Git checkouts.
39   "ffmpeg_revision": "232187",
40   "ffmpeg_hash": "79ff844dd6746854847e65a08535673de811930b",
42   "sfntly_revision": "228",
43   "lighttpd_revision": "33737",
44   "skia_revision": "12124",
45   "skia_hash": "876d1fea3e57d3def839abc62928daa564316752",
46   # Three lines of non-changing comments so that
47   # the commit queue can handle CLs rolling Skia
48   # and V8 without interference from each other.
49   "v8_revision": "17449",
50   # Three lines of non-changing comments so that
51   # the commit queue can handle CLs rolling WebRTC
52   # and V8 without interference from each other.
53   "webrtc_revision": "5080",
54   "jsoncpp_revision": "248",
55   "nss_revision": "231937",
56   # Three lines of non-changing comments so that
57   # the commit queue can handle CLs rolling swarming_client
58   # and whatever else without interference from each other.
59   "swarming_revision": "141ef86f4abf255e578320bfe6e42006c251bc39",
60   # Three lines of non-changing comments so that
61   # the commit queue can handle CLs rolling openssl
62   # and whatever else without interference from each other.
63   "openssl_revision": "231572",
66 deps = {
67   "src/breakpad/src":
68     (Var("googlecode_url") % "google-breakpad") + "/trunk/src@1230",
70   "src/sdch/open-vcdiff":
71     (Var("googlecode_url") % "open-vcdiff") + "/trunk@42",
73   "src/testing/gtest":
74     (Var("googlecode_url") % "googletest") + "/trunk@629",
76   "src/testing/gmock":
77     (Var("googlecode_url") % "googlemock") + "/trunk@410",
79   "src/third_party/angle_dx11":
80     Var("chromium_git") +
81     "/external/angle.git@9c318342233f68b915d39c8f1f181b9ef545c4db",
83   "src/third_party/trace-viewer":
84     (Var("googlecode_url") % "trace-viewer") + "/trunk@1057",
86   "src/third_party/WebKit":
87     Var("webkit_trunk") + "@" + Var("webkit_revision"),
89   "src/third_party/icu":
90     "/trunk/deps/third_party/icu46@228516",
92   "src/third_party/libexif/sources":
93     "/trunk/deps/third_party/libexif/sources@146817",
95   "src/third_party/hunspell":
96    "/trunk/deps/third_party/hunspell@206172",
98   "src/third_party/hunspell_dictionaries":
99     "/trunk/deps/third_party/hunspell_dictionaries@193701",
101   "src/third_party/safe_browsing/testing":
102     (Var("googlecode_url") % "google-safe-browsing") + "/trunk/testing@112",
104   "src/third_party/cacheinvalidation/src":
105     (Var("googlecode_url") % "google-cache-invalidation-api") +
106     "/trunk/src@313",
108   "src/third_party/leveldatabase/src":
109     (Var("googlecode_url") % "leveldb") + "/trunk@77",
111   "src/third_party/snappy/src":
112     (Var("googlecode_url") % "snappy") + "/trunk@80",
114   "src/tools/grit":
115     (Var("googlecode_url") % "grit-i18n") + "/trunk@136",
117   "src/tools/gyp":
118     (Var("googlecode_url") % "gyp") + "/trunk@1773",
120   "src/tools/swarming_client":
121     Var("chromium_git") + "/external/swarming.client.git@" +
122         Var("swarming_revision"),
124   "src/v8":
125     (Var("googlecode_url") % "v8") + "/trunk@" + Var("v8_revision"),
127   "src/native_client":
128     Var("nacl_trunk") + "/src/native_client@" + Var("nacl_revision"),
130   "src/chrome/test/data/extensions/api_test/permissions/nacl_enabled/bin":
131     Var("nacl_trunk") + "/src/native_client/tests/prebuilt@" +
132     Var("nacl_revision"),
134   "src/third_party/sfntly/cpp/src":
135     (Var("googlecode_url") % "sfntly") + "/trunk/cpp/src@" +
136     Var("sfntly_revision"),
138   "src/third_party/skia/src":
139     (Var("googlecode_url") % "skia") + "/trunk/src@" + Var("skia_revision"),
141   "src/third_party/skia/gyp":
142     (Var("googlecode_url") % "skia") + "/trunk/gyp@" + Var("skia_revision"),
144   "src/third_party/skia/include":
145     (Var("googlecode_url") % "skia") + "/trunk/include@" + Var("skia_revision"),
147   "src/third_party/ots":
148     (Var("googlecode_url") % "ots") + "/trunk@103",
150   "src/tools/page_cycler/acid3":
151     "/trunk/deps/page_cycler/acid3@171600",
153   "src/chrome/test/data/perf/canvas_bench":
154     "/trunk/deps/canvas_bench@122605",
156   "src/chrome/test/data/perf/frame_rate/content":
157     "/trunk/deps/frame_rate/content@93671",
159   "src/chrome/test/data/perf/third_party/octane":
160     (Var("googlecode_url") % "octane-benchmark") + "/trunk@19",
162   "src/third_party/bidichecker":
163     (Var("googlecode_url") % "bidichecker") + "/trunk/lib@4",
165   "src/third_party/webgl_conformance":
166     "/trunk/deps/third_party/webgl/sdk/tests@230853",
168   "src/third_party/swig/Lib":
169     "/trunk/deps/third_party/swig/Lib@" + Var("swig_revision"),
171   # Make sure you update the two functional.DEPS and webdriver.DEPS too.
172   "src/third_party/webdriver/pylib":
173     (Var("googlecode_url") % "selenium") + "/trunk/py@18337",
175   "src/third_party/libvpx":
176     "/trunk/deps/third_party/libvpx@" +
177     Var("libvpx_revision"),
179   "src/third_party/ffmpeg":
180     "/trunk/deps/third_party/ffmpeg@" +
181     Var("ffmpeg_revision"),
183   "src/third_party/libjingle/source/talk":
184     (Var("googlecode_url") % "webrtc") + "/stable/talk@" +
185     Var("webrtc_revision"),
187   "src/third_party/usrsctp/usrsctplib":
188     (Var("googlecode_url") % "sctp-refimpl") +
189     "/trunk/KERN/usrsctp/usrsctplib@8603",
191   "src/third_party/libsrtp":
192     "/trunk/deps/third_party/libsrtp@214783",
194   "src/third_party/speex":
195     "/trunk/deps/third_party/speex@198168",
197   "src/third_party/yasm/source/patched-yasm":
198     "/trunk/deps/third_party/yasm/patched-yasm@167605",
200   "src/third_party/libjpeg_turbo":
201     "/trunk/deps/third_party/libjpeg_turbo@228394",
203   "src/third_party/flac":
204     "/trunk/deps/third_party/flac@222897",
206   "src/third_party/pyftpdlib/src":
207     (Var("googlecode_url") % "pyftpdlib") + "/trunk@977",
209   "src/third_party/scons-2.0.1":
210     Var("nacl_trunk") + "/src/third_party/scons-2.0.1@" +
211         Var("nacl_tools_revision"),
213   "src/third_party/webrtc":
214     (Var("googlecode_url") % "webrtc") + "/stable/webrtc@" + Var("webrtc_revision"),
216   "src/third_party/openmax_dl":
217     (Var("googlecode_url") % "webrtc") + "/deps/third_party/openmax@4261",
219   "src/third_party/jsoncpp/source/include":
220     (Var("sourceforge_url") % {"repo": "jsoncpp"}) +
221         "/trunk/jsoncpp/include@" + Var("jsoncpp_revision"),
223   "src/third_party/jsoncpp/source/src/lib_json":
224     (Var("sourceforge_url") % {"repo": "jsoncpp"}) +
225         "/trunk/jsoncpp/src/lib_json@" + Var("jsoncpp_revision"),
227   "src/third_party/libyuv":
228     (Var("googlecode_url") % "libyuv") + "/trunk@723",
230   "src/third_party/smhasher/src":
231     (Var("googlecode_url") % "smhasher") + "/trunk@149",
233   "src/third_party/libphonenumber/src/phonenumbers":
234      (Var("googlecode_url") % "libphonenumber") +
235          "/trunk/cpp/src/phonenumbers@" + Var("libphonenumber_revision"),
236   "src/third_party/libphonenumber/src/test":
237      (Var("googlecode_url") % "libphonenumber") + "/trunk/cpp/test@" +
238          Var("libphonenumber_revision"),
239   "src/third_party/libphonenumber/src/resources":
240      (Var("googlecode_url") % "libphonenumber") + "/trunk/resources@" +
241          Var("libphonenumber_revision"),
243   "src/tools/deps2git":
244     "/trunk/tools/deps2git@230538",
246   "src/third_party/webpagereplay":
247     (Var("googlecode_url") % "web-page-replay") + "/trunk@524",
249   "src/third_party/pywebsocket/src":
250     (Var("googlecode_url") % "pywebsocket") + "/trunk/src@662",
252   "src/third_party/opus/src":
253     "/trunk/deps/third_party/opus@185324",
255   "src/media/cdm/ppapi/api":
256     "/trunk/deps/cdm@232829",
258   "src/third_party/mesa/src":
259     "/trunk/deps/third_party/mesa@229994",
261   "src/third_party/cld_2/src":
262     (Var("googlecode_url") % "cld2") + "/trunk@84",
266 deps_os = {
267   "win": {
268     "src/chrome/tools/test/reference_build/chrome_win":
269       "/trunk/deps/reference_builds/chrome_win@221746",
271     "src/third_party/cygwin":
272       "/trunk/deps/third_party/cygwin@231940",
274     "src/third_party/python_26":
275       "/trunk/tools/third_party/python_26@89111",
277     "src/third_party/psyco_win32":
278       "/trunk/deps/third_party/psyco_win32@79861",
280     "src/third_party/bison":
281       "/trunk/deps/third_party/bison@147303",
283     "src/third_party/gperf":
284       "/trunk/deps/third_party/gperf@147304",
286     "src/third_party/perl":
287       "/trunk/deps/third_party/perl@147900",
289     "src/third_party/lighttpd":
290       "/trunk/deps/third_party/lighttpd@" + Var("lighttpd_revision"),
292     # Chrome Frame related deps
293     "src/third_party/xulrunner-sdk":
294       "/trunk/deps/third_party/xulrunner-sdk@119756",
295     "src/chrome_frame/tools/test/reference_build/chrome_win":
296       "/trunk/deps/reference_builds/chrome_win@89574",
298     # Parses Windows PE/COFF executable format.
299     "src/third_party/pefile":
300       (Var("googlecode_url") % "pefile") + "/trunk@63",
302     # NSS, for SSLClientSocketNSS.
303     "src/third_party/nss":
304       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
306     "src/third_party/swig/win":
307       "/trunk/deps/third_party/swig/win@" + Var("swig_revision"),
309     # GNU binutils assembler for x86-32.
310     "src/third_party/gnu_binutils":
311       (Var("nacl_trunk") + "/deps/third_party/gnu_binutils@" +
312        Var("nacl_tools_revision")),
313     # GNU binutils assembler for x86-64.
314     "src/third_party/mingw-w64/mingw/bin":
315       (Var("nacl_trunk") + "/deps/third_party/mingw-w64/mingw/bin@" +
316        Var("nacl_tools_revision")),
318     # Dependencies used by libjpeg-turbo
319     "src/third_party/yasm/binaries":
320       "/trunk/deps/third_party/yasm/binaries@154708",
322     # Binary level profile guided optimizations. This points to the
323     # latest release binaries for the toolchain.
324     "src/third_party/syzygy/binaries":
325       (Var("googlecode_url") % "sawbuck") + "/trunk/syzygy/binaries@1811",
327     # Binaries for nacl sdk.
328     "src/third_party/nacl_sdk_binaries":
329       "/trunk/deps/third_party/nacl_sdk_binaries@111576",
330   },
331   "ios": {
332     "src/third_party/GTM":
333       (Var("googlecode_url") % "google-toolbox-for-mac") + "/trunk@" +
334       Var("gtm_revision"),
336     "src/third_party/nss":
337       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
339     # class-dump utility to generate header files for undocumented SDKs
340     "src/testing/iossim/third_party/class-dump":
341       "/trunk/deps/third_party/class-dump@199203",
343     # Code that's not needed due to not building everything
344     "src/build/util/support": None,
345     "src/chrome/test/data/extensions/api_test/permissions/nacl_enabled/bin": None,
346     "src/chrome/test/data/perf/canvas_bench": None,
347     "src/chrome/test/data/perf/frame_rate/content": None,
348     "src/chrome/test/data/perf/third_party/octane": None,
349     "src/media/cdm/ppapi/api": None,
350     "src/native_client": None,
351     "src/native_client/src/third_party/ppapi": None,
352     "src/third_party/angle_dx11": None,
353     "src/third_party/cld_2/src": None,
354     "src/third_party/bidichecker": None,
355     "src/third_party/webgl_conformance": None,
356     "src/third_party/ffmpeg": None,
357     "src/third_party/hunspell_dictionaries": None,
358     "src/third_party/hunspell": None,
359     "src/third_party/libexif/sources": None,
360     "src/third_party/libjpeg_turbo": None,
361     "src/third_party/libsrtp": None,
362     "src/third_party/usrsctp/usrsctplib": None,
363     "src/third_party/libvpx": None,
364     "src/third_party/libyuv": None,
365     "src/third_party/mesa/src": None,
366     "src/third_party/opus/src": None,
367     "src/third_party/openmax_dl": None,
368     "src/third_party/ots": None,
369     "src/third_party/pymox/src": None,
370     "src/third_party/safe_browsing/testing": None,
371     "src/third_party/scons-2.0.1": None,
372     "src/third_party/sfntly/cpp/src": None,
373     "src/third_party/smhasher/src": None,
374     "src/third_party/swig/Lib": None,
375     "src/third_party/undoview": None,
376     "src/third_party/v8-i18n": None,
377     "src/third_party/webdriver/pylib": None,
378     "src/third_party/webpagereplay": None,
379     "src/third_party/webrtc": None,
380     "src/third_party/yasm/source/patched-yasm": None,
381     "src/tools/page_cycler/acid3": None,
382     "src/v8": None,
383   },
384   "mac": {
385     "src/chrome/tools/test/reference_build/chrome_mac":
386       "/trunk/deps/reference_builds/chrome_mac@221746",
388     "src/third_party/GTM":
389       (Var("googlecode_url") % "google-toolbox-for-mac") + "/trunk@" +
390       Var("gtm_revision"),
391     "src/third_party/pdfsqueeze":
392       (Var("googlecode_url") % "pdfsqueeze") + "/trunk@5",
393     "src/third_party/lighttpd":
394       "/trunk/deps/third_party/lighttpd@" + Var("lighttpd_revision"),
396     "src/third_party/swig/mac":
397       "/trunk/deps/third_party/swig/mac@" + Var("swig_revision"),
399     # NSS, for SSLClientSocketNSS.
400     "src/third_party/nss":
401       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
403     "src/chrome/installer/mac/third_party/xz/xz":
404       "/trunk/deps/third_party/xz@189101",
405   },
406   "unix": {
407     # Linux, really.
408     "src/chrome/tools/test/reference_build/chrome_linux":
409       "/trunk/deps/reference_builds/chrome_linux64@232223",
411     "src/third_party/xdg-utils":
412       "/trunk/deps/third_party/xdg-utils@203785",
414     "src/third_party/swig/linux":
415       "/trunk/deps/third_party/swig/linux@" + Var("swig_revision"),
417     "src/third_party/lss":
418       ((Var("googlecode_url") % "linux-syscall-support") + "/trunk/lss@" +
419        Var("lss_revision")),
421     "src/third_party/openssl":
422       "/trunk/deps/third_party/openssl@" + Var("openssl_revision"),
424     "src/third_party/gold":
425       "/trunk/deps/third_party/gold@228995",
427     "src/third_party/libmtp":
428       "/trunk/deps/third_party/libmtp@206535",
430     # Used on Linux only. CrOS already has a copy.
431     "src/third_party/mtpd/source":
432       Var("chromiumos_git") + "/platform/mtpd.git" +
433       "@5be739c938a0a229ba9479b00b180e1f9c843e81",
435     # Used on Linux only. CrOS already has a copy.
436     "src/third_party/cros_dbus_cplusplus/source":
437       Var("chromiumos_git") + "/third_party/dbus-cplusplus.git" +
438       "@5e8f6d9db5c2abfb91d91f751184f25bb5cd0900",
440     # For Linux and Chromium OS.
441     "src/third_party/cros_system_api":
442       Var("chromiumos_git") + "/platform/system_api.git" +
443       "@99bce39f55240926a75454bb70998ab9f5ce9f13",
445     # Note that this is different from Android's freetype repo.
446     "src/third_party/freetype2/src":
447       Var("chromium_git") + "/chromium/src/third_party/freetype2.git" +
448       "@d699c2994ecc178c4ed05ac2086061b2034c2178",
450     # Build tools for targeting ChromeOS.
451     "src/third_party/chromite":
452       Var("chromiumos_git") + "/chromite.git" +
453       "@cbdd21c5ea76aa93ba4619a6d253697765f4de1f",
455     # Dependency of chromite.git.
456     "src/third_party/pyelftools":
457       Var("chromiumos_git") + "/third_party/pyelftools.git" +
458       "@bdc1d380acd88d4bfaf47265008091483b0d614e",
460     "src/third_party/undoview":
461       "/trunk/deps/third_party/undoview@119694",
462   },
463   "android": {
464     "src/third_party/android_tools":
465       Var("chromium_git") + "/android_tools.git" +
466       "@e504b737693e96816b40e6ae80d177352c079c18",
468     "src/third_party/aosp":
469       "/trunk/deps/third_party/aosp@148330",
471     "src/third_party/apache-mime4j":
472       "/trunk/deps/third_party/apache-mime4j@170888",
474     "src/third_party/findbugs":
475       "/trunk/deps/third_party/findbugs@163586",
477     "src/third_party/freetype":
478       Var("chromium_git") + "/chromium/src/third_party/freetype.git" +
479       "@e3b631da8034f7c6ecc6d809cd9e46d306215c32",
481     "src/third_party/guava/src":
482       Var("chromium_git") + "/external/guava-libraries.git" +
483       "@c523556ab7d0f05afadebd20e7768d4c16af8771",
485     "src/third_party/httpcomponents-client":
486       "/trunk/deps/third_party/httpcomponents-client@170888",
488     "src/third_party/httpcomponents-core":
489       "/trunk/deps/third_party/httpcomponents-core@170888",
491     "src/third_party/jarjar":
492       "/trunk/deps/third_party/jarjar@170888",
494     "src/third_party/jsr-305/src":
495       (Var("googlecode_url") % "jsr-305") + "/trunk@51",
497     "src/third_party/lss":
498       ((Var("googlecode_url") % "linux-syscall-support") + "/trunk/lss@" +
499        Var("lss_revision")),
501     "src/third_party/openssl":
502       "/trunk/deps/third_party/openssl@" + Var("openssl_revision"),
504     "src/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/braille":
505       (Var("googlecode_url") % "eyes-free") + "/trunk/braille/client/src/com/googlecode/eyesfree/braille@797",
506   },
510 include_rules = [
511   # Everybody can use some things.
512   "+base",
513   "+build",
514   "+ipc",
516   # Everybody can use headers generated by tools/generate_library_loader.
517   "+library_loaders",
519   "+testing",
520   "+third_party/icu/source/common/unicode",
521   "+third_party/icu/source/i18n/unicode",
522   "+url",
526 # checkdeps.py shouldn't check include paths for files in these dirs:
527 skip_child_includes = [
528   "breakpad",
529   "chrome_frame",
530   "delegate_execute",
531   "metro_driver",
532   "native_client_sdk",
533   "o3d",
534   "pdf",
535   "sdch",
536   "skia",
537   "testing",
538   "third_party",
539   "v8",
540   "win8",
544 hooks = [
545   {
546     # This downloads binaries for Native Client's newlib toolchain.
547     # Done in lieu of building the toolchain from scratch as it can take
548     # anywhere from 30 minutes to 4 hours depending on platform to build.
549     "name": "nacltools",
550     "pattern": ".",
551     "action": [
552         "python", "src/build/download_nacl_toolchains.py",
553          "--no-arm-trusted",
554          "--keep",
555     ],
556   },
557   {
558     # Downloads an ARM sysroot image to src/arm-sysroot. This image updates
559     # at about the same rate that the chrome build deps change.
560     # This script is a no-op except for linux users who have
561     # target_arch=arm in their GYP_DEFINES.
562     "name": "sysroot",
563     "pattern": ".",
564     "action": ["python", "src/build/linux/install-arm-sysroot.py",
565                "--linux-only"],
566   },
567   {
568     # Downloads the Debian Wheezy sysroot to chrome/installer/linux if needed.
569     # This sysroot updates at about the same rate that the chrome build deps
570     # change. This script is a no-op except for linux users who are doing
571     # official chrome builds.
572     "name": "sysroot",
573     "pattern": ".",
574     "action": [
575         "python",
576         "src/chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py",
577         "--linux-only",
578         "--arch=amd64"],
579   },
580   {
581     # Same as above, but for 32-bit Linux.
582     "name": "sysroot",
583     "pattern": ".",
584     "action": [
585         "python",
586         "src/chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py",
587         "--linux-only",
588         "--arch=i386"],
589   },
590   {
591     # Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
592     # zero seconds to run. If something changed, it downloads a prebuilt clang,
593     # which takes ~20s, but clang speeds up builds by more than 20s.
594     "name": "clang",
595     "pattern": ".",
596     "action": ["python", "src/tools/clang/scripts/update.py", "--mac-only"],
597   },
598   {
599     # Update the cygwin mount on Windows.
600     "name": "cygwin",
601     "pattern": ".",
602     "action": ["python", "src/build/win/setup_cygwin_mount.py", "--win-only"],
603   },
604   {
605     # Update LASTCHANGE. This is also run by export_tarball.py in
606     # src/tools/export_tarball - please keep them in sync.
607     "name": "lastchange",
608     "pattern": ".",
609     "action": ["python", "src/build/util/lastchange.py",
610                "-o", "src/build/util/LASTCHANGE"],
611   },
612   {
613     # Update LASTCHANGE.blink. This is also run by export_tarball.py in
614     # src/tools/export_tarball - please keep them in sync.
615     "name": "lastchange",
616     "pattern": ".",
617     "action": ["python", "src/build/util/lastchange.py",
618                "-s", "src/third_party/WebKit",
619                "-o", "src/build/util/LASTCHANGE.blink"],
620   },
621   # Pull GN binaries. This needs to be before running GYP below.
622   {
623     "name": "gn_win",
624     "pattern": "\\.sha1$",
625     "action": [ "download_from_google_storage",
626                 "--platform=win32",
627                 "--directory",
628                 "--bucket", "chromium-gn",
629                 "src/tools/gn/bin/win",
630     ],
631   },
632   {
633     "name": "gn_linux",
634     "pattern": "\\.sha1$",
635     "action": [ "download_from_google_storage",
636                 "--platform=\"linux*\"",
637                 "--directory",
638                 "--bucket", "chromium-gn",
639                 "src/tools/gn/bin/linux",
640     ],
641   },
642   {
643     # A change to a .gyp, .gypi, or to GYP itself should run the generator.
644     "name": "gyp",
645     "pattern": ".",
646     "action": ["python", "src/build/gyp_chromium"],
647   },
648   {
649     # Check for landmines (reasons to clobber the build).
650     "name": "landmines",
651     "pattern": ".",
652     "action": ["python", "src/build/landmines.py"],
653   },