Move external install warning logic from ExtService to ExternalInstallManager
[chromium-blink-merge.git] / DEPS
bloba806eb693692e8a38b819ccee5b611e89167b2e7
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 -w <gclientdir>
8 # where <gcliendir> is the absolute path to the directory containing the
9 # .gclient file (the parent of "src").
11 # Then commit .DEPS.git locally (gclient doesn't like dirty trees) and run
12 #   gclient sync
13 # Verify the thing happened you wanted. Then revert your .DEPS.git change
14 # DO NOT CHECK IN CHANGES TO .DEPS.git upstream. It will be automatically
15 # updated by a bot when you modify this one.
17 # When adding a new dependency, please update the top-level .gitignore file
18 # to list the dependency's destination directory.
20 vars = {
21   # Use this googlecode_url variable only if there is an internal mirror for it.
22   # If you do not know, use the full path while defining your new deps entry.
23   "googlecode_url": "http://%s.googlecode.com/svn",
24   "sourceforge_url": "http://svn.code.sf.net/p/%(repo)s/code",
25   "llvm_url": "http://src.chromium.org/llvm-project",
26   "llvm_git": "https://llvm.googlesource.com",
27   "libcxx_revision": "206024",
28   "libcxxabi_revision": "206024",
29   "webkit_trunk": "http://src.chromium.org/blink/trunk",
30   "nacl_trunk": "http://src.chromium.org/native_client/trunk",
31   "webkit_revision": "177377",
32   "chromium_git": "https://chromium.googlesource.com",
33   "chromiumos_git": "https://chromium.googlesource.com/chromiumos",
34   "pdfium_git": "https://pdfium.googlesource.com",
35   "skia_git": "https://skia.googlesource.com",
36   "swig_revision": "230490",
37   "nacl_revision": "13430",
38   # After changing nacl_revision, run 'glient sync' and check native_client/DEPS
39   # to update other nacl_*_revision's.
40   "nacl_tools_revision": "13077",  # native_client/DEPS: tools_rev
41   "google_toolbox_for_mac_revision": "662",
42   "libaddressinput_revision": "297",
43   "libphonenumber_revision": "621",
44   "libvpx_revision": "280676",
45   "lss_revision": "26",
46   "sfntly_revision": "239",
47   "lighttpd_revision": "33737",
48   "skia_revision": "e438ddbc7451ec80f953266409fea4695e78c8c2",
49   # Three lines of non-changing comments so that
50   # the commit queue can handle CLs rolling Skia
51   # and V8 without interference from each other.
52   "v8_branch": "trunk",
53   "v8_revision": "22135",
54   # Three lines of non-changing comments so that
55   # the commit queue can handle CLs rolling WebRTC
56   # and V8 without interference from each other.
57   "webrtc_revision": "6544",
58   "jsoncpp_revision": "248",
59   "nss_revision": "277057",
60   # Three lines of non-changing comments so that
61   # the commit queue can handle CLs rolling swarming_client
62   # and whatever else without interference from each other.
63   "swarming_revision": "f27448e0a792973906bb608e81d33024bc9dd901",
64   # Three lines of non-changing comments so that
65   # the commit queue can handle CLs rolling openssl
66   # and whatever else without interference from each other.
67   "openssl_revision": "275836",
68   # Three lines of non-changing comments so that
69   # the commit queue can handle CLs rolling ANGLE
70   # and whatever else without interference from each other.
71   "angle_revision": "e8cda37186d82aea05e67fd9a595a59c2ab7ec18",
72   # Three lines of non-changing comments so that
73   # the commit queue can handle CLs rolling build tools
74   # and whatever else without interference from each other.
75   "buildtools_revision": "fb782d4369d5ae04f17a2fceef7de5a63e50f07b",
76   # Three lines of non-changing comments so that
77   # the commit queue can handle CLs rolling PDFIum
78   # and whatever else without interference from each other.
79   "pdfium_revision": "9d319f0cb5e0850447dbd95b07fed28245fb0b31",
80   # Three lines of non-changing comments so that
81   # the commit queue can handle CLs rolling openmax_dl
82   # and whatever else without interference from each other.
83   "openmax_dl_revision": "6483",
86 deps = {
87   "src/breakpad/src":
88     (Var("googlecode_url") % "google-breakpad") + "/trunk/src@1338",
90   "src/buildtools":
91     Var("chromium_git") + "/chromium/buildtools.git@" +
92      Var("buildtools_revision"),
94   "src/sdch/open-vcdiff":
95     (Var("googlecode_url") % "open-vcdiff") + "/trunk@42",
97   "src/testing/gtest":
98     (Var("googlecode_url") % "googletest") + "/trunk@643",
100   "src/testing/gmock":
101     (Var("googlecode_url") % "googlemock") + "/trunk@410",
103   "src/third_party/angle":
104     Var("chromium_git") + "/angle/angle.git@" + Var("angle_revision"),
106   "src/third_party/colorama/src":
107     Var("chromium_git") + "/external/colorama.git@799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8",
109   "src/third_party/trace-viewer":
110     (Var("googlecode_url") % "trace-viewer") + "/trunk@1308",
112   "src/third_party/WebKit":
113     Var("webkit_trunk") + "@" + Var("webkit_revision"),
115   "src/third_party/WebKit/LayoutTests/w3c/web-platform-tests":
116     Var("chromium_git") +
117     "/external/w3c/web-platform-tests.git@6bed4516fe8522d65512c76ef02e4f0ae8234395",
119   "src/third_party/WebKit/LayoutTests/w3c/csswg-test":
120     Var("chromium_git") +
121     "/external/w3c/csswg-test.git@bacbb4a8dca702cd86646761fde96793db13d4f1",
123   "src/third_party/icu":
124     "/trunk/deps/third_party/icu46@262949",
126   "src/third_party/libexif/sources":
127     "/trunk/deps/third_party/libexif/sources@265008",
129   "src/third_party/hunspell":
130     "/trunk/deps/third_party/hunspell@278973",
132   "src/third_party/hunspell_dictionaries":
133     "/trunk/deps/third_party/hunspell_dictionaries@255132",
135   "src/third_party/safe_browsing/testing":
136     (Var("googlecode_url") % "google-safe-browsing") + "/trunk/testing@112",
138   "src/third_party/cacheinvalidation/src":
139     (Var("googlecode_url") % "google-cache-invalidation-api") +
140     "/trunk/src@331",
142   "src/third_party/leveldatabase/src":
143     (Var("googlecode_url") % "leveldb") + "/trunk@80",
145   "src/third_party/libc++/trunk":
146     Var("llvm_url") + "/libcxx/trunk@" + Var("libcxx_revision"),
148   "src/third_party/libc++abi/trunk":
149     Var("llvm_url") + "/libcxxabi/trunk@" + Var("libcxxabi_revision"),
151   "src/third_party/snappy/src":
152     (Var("googlecode_url") % "snappy") + "/trunk@80",
154   "src/tools/grit":
155     (Var("googlecode_url") % "grit-i18n") + "/trunk@170",
157   "src/tools/gyp":
158     (Var("googlecode_url") % "gyp") + "/trunk@1944",
160   "src/tools/swarming_client":
161     Var("chromium_git") + "/external/swarming.client.git@" +
162         Var("swarming_revision"),
164   "src/v8":
165     (Var("googlecode_url") % "v8") + "/" + Var("v8_branch") + "@" +
166     Var("v8_revision"),
168   "src/native_client":
169     Var("nacl_trunk") + "/src/native_client@" + Var("nacl_revision"),
171   "src/chrome/test/data/extensions/api_test/permissions/nacl_enabled/bin":
172     Var("nacl_trunk") + "/src/native_client/tests/prebuilt@" +
173     Var("nacl_revision"),
175   "src/third_party/sfntly/cpp/src":
176     (Var("googlecode_url") % "sfntly") + "/trunk/cpp/src@" +
177     Var("sfntly_revision"),
179   "src/third_party/skia":
180     Var("chromium_git") + "/skia.git@" + Var("skia_revision"),
182   "src/third_party/ots":
183     (Var("googlecode_url") % "ots") + "/trunk@115",
185   "src/third_party/brotli/src":
186     Var("chromium_git") +
187     "/external/font-compression-reference.git@6cef49677dc4c650ef6e3f56041e0a41803afa8c",
189   "src/tools/page_cycler/acid3":
190     "/trunk/deps/page_cycler/acid3@171600",
192   "src/chrome/test/data/perf/canvas_bench":
193     "/trunk/deps/canvas_bench@122605",
195   "src/chrome/test/data/perf/frame_rate/content":
196     "/trunk/deps/frame_rate/content@93671",
198   "src/third_party/bidichecker":
199     (Var("googlecode_url") % "bidichecker") + "/trunk/lib@4",
201   "src/third_party/webgl/src":
202     Var("chromium_git") +
203     "/external/khronosgroup/webgl.git@0475a2763fc30cbed22740f8a9ef53a82f03b4ac",
205   "src/third_party/swig/Lib":
206     "/trunk/deps/third_party/swig/Lib@" + Var("swig_revision"),
208   # Make sure you update the two functional.DEPS and webdriver.DEPS too.
209   "src/third_party/webdriver/pylib":
210     (Var("googlecode_url") % "selenium") + "/trunk/py@18337",
212   "src/third_party/libvpx":
213     "/trunk/deps/third_party/libvpx@" +
214     Var("libvpx_revision"),
216   "src/third_party/ffmpeg":
217     Var("chromium_git") +
218     "/chromium/third_party/ffmpeg.git@f620cda6d1661f1b2f3214d17b9a254f5c89225f",
220   "src/third_party/libjingle/source/talk":
221     (Var("googlecode_url") % "webrtc") + "/trunk/talk@" +
222     Var("webrtc_revision"),
224   "src/third_party/usrsctp/usrsctplib":
225     (Var("googlecode_url") % "sctp-refimpl") +
226     "/trunk/KERN/usrsctp/usrsctplib@8875",
228   "src/third_party/libsrtp":
229     "/trunk/deps/third_party/libsrtp@261337",
231   "src/third_party/speex":
232     "/trunk/deps/third_party/speex@272757",
234   "src/third_party/yasm/source/patched-yasm":
235     "/trunk/deps/third_party/yasm/patched-yasm@167605",
237   "src/third_party/libjpeg_turbo":
238     "/trunk/deps/third_party/libjpeg_turbo@272637",
240   "src/third_party/flac":
241     "/trunk/deps/third_party/flac@222897",
243   "src/third_party/pyftpdlib/src":
244     (Var("googlecode_url") % "pyftpdlib") + "/trunk@977",
246   "src/third_party/scons-2.0.1":
247     Var("nacl_trunk") + "/src/third_party/scons-2.0.1@" +
248         Var("nacl_tools_revision"),
250   "src/third_party/webrtc":
251     (Var("googlecode_url") % "webrtc") + "/trunk/webrtc@" + Var("webrtc_revision"),
253   "src/third_party/openmax_dl":
254     (Var("googlecode_url") % "webrtc") + "/deps/third_party/openmax@" + Var("openmax_dl_revision"),
256   "src/third_party/jsoncpp/source/include":
257     (Var("sourceforge_url") % {"repo": "jsoncpp"}) +
258         "/trunk/jsoncpp/include@" + Var("jsoncpp_revision"),
260   "src/third_party/jsoncpp/source/src/lib_json":
261     (Var("sourceforge_url") % {"repo": "jsoncpp"}) +
262         "/trunk/jsoncpp/src/lib_json@" + Var("jsoncpp_revision"),
264   "src/third_party/libyuv":
265     (Var("googlecode_url") % "libyuv") + "/trunk@1025",
267   "src/third_party/smhasher/src":
268     (Var("googlecode_url") % "smhasher") + "/trunk@152",
270   "src/third_party/libaddressinput/src/cpp":
271     (Var("googlecode_url") % "libaddressinput") + "/trunk/cpp@" +
272         Var("libaddressinput_revision"),
273   "src/third_party/libaddressinput/src/testdata":
274     (Var("googlecode_url") % "libaddressinput") + "/trunk/testdata@" +
275         Var("libaddressinput_revision"),
277   "src/third_party/libphonenumber/src/phonenumbers":
278     (Var("googlecode_url") % "libphonenumber") +
279         "/trunk/cpp/src/phonenumbers@" + Var("libphonenumber_revision"),
280   "src/third_party/libphonenumber/src/test":
281     (Var("googlecode_url") % "libphonenumber") + "/trunk/cpp/test@" +
282         Var("libphonenumber_revision"),
283   "src/third_party/libphonenumber/src/resources":
284     (Var("googlecode_url") % "libphonenumber") + "/trunk/resources@" +
285         Var("libphonenumber_revision"),
287   "src/tools/deps2git":
288     "/trunk/tools/deps2git@276439",
290   "src/third_party/webpagereplay":
291     Var("chromium_git") + "/external/web-page-replay.git@" +
292     "b62c02d3b64cf00a2f65a82cca0721aa42c3d6ad",
294   "src/third_party/pywebsocket/src":
295     (Var("googlecode_url") % "pywebsocket") + "/trunk/src@790",
297   "src/third_party/opus/src":
298     "/trunk/deps/third_party/opus@256783",
300   "src/media/cdm/ppapi/api":
301     "/trunk/deps/cdm@273356",
303   "src/third_party/mesa/src":
304     "/trunk/deps/third_party/mesa@265279",
306   "src/third_party/cld_2/src":
307     (Var("googlecode_url") % "cld2") + "/trunk@161",
309   "src/chrome/browser/resources/pdf/html_office":
310      Var("chromium_git") +
311          "/chromium/html-office-public.git@eeff97614f65e0578529490d44d412032c3d7359",
313   "src/third_party/libwebm/source":
314     Var("chromium_git") +
315       "/webm/libwebm.git@8be63972fdd7ae8c041778f8ba674ade903395c9",
317   "src/third_party/openssl":
318     "/trunk/deps/third_party/openssl@" + Var("openssl_revision"),
320   "src/third_party/pdfium":
321     Var("pdfium_git") + "/pdfium.git@" + Var("pdfium_revision"),
325 deps_os = {
326   "win": {
327     "src/chrome/tools/test/reference_build/chrome_win":
328       "/trunk/deps/reference_builds/chrome_win@273882",
330     "src/third_party/cygwin":
331       "/trunk/deps/third_party/cygwin@231940",
333     "src/third_party/psyco_win32":
334       "/trunk/deps/third_party/psyco_win32@237949",
336     "src/third_party/bison":
337       "/trunk/deps/third_party/bison@147303",
339     "src/third_party/gperf":
340       "/trunk/deps/third_party/gperf@147304",
342     "src/third_party/perl":
343       "/trunk/deps/third_party/perl@147900",
345     "src/third_party/lighttpd":
346       "/trunk/deps/third_party/lighttpd@" + Var("lighttpd_revision"),
348     # Parses Windows PE/COFF executable format.
349     "src/third_party/pefile":
350       Var("chromium_git") + '/external/pefile.git@' +
351       '72c6ae42396cb913bcab63c15585dc3b5c3f92f1',
353     # NSS, for SSLClientSocketNSS.
354     "src/third_party/nss":
355       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
357     "src/third_party/swig/win":
358       "/trunk/deps/third_party/swig/win@" + Var("swig_revision"),
360     # GNU binutils assembler for x86-32.
361     "src/third_party/gnu_binutils":
362       (Var("nacl_trunk") + "/deps/third_party/gnu_binutils@" +
363        Var("nacl_tools_revision")),
364     # GNU binutils assembler for x86-64.
365     "src/third_party/mingw-w64/mingw/bin":
366       (Var("nacl_trunk") + "/deps/third_party/mingw-w64/mingw/bin@" +
367        Var("nacl_tools_revision")),
369     # Dependencies used by libjpeg-turbo
370     "src/third_party/yasm/binaries":
371       "/trunk/deps/third_party/yasm/binaries@154708",
373     # Binaries for nacl sdk.
374     "src/third_party/nacl_sdk_binaries":
375       "/trunk/deps/third_party/nacl_sdk_binaries@111576",
376   },
377   "ios": {
378     "src/third_party/google_toolbox_for_mac/src":
379       (Var("googlecode_url") % "google-toolbox-for-mac") + "/trunk@" +
380       Var("google_toolbox_for_mac_revision"),
382     "src/third_party/nss":
383       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
385     # class-dump utility to generate header files for undocumented SDKs
386     "src/testing/iossim/third_party/class-dump":
387       "/trunk/deps/third_party/class-dump@199203",
389     # Code that's not needed due to not building everything
390     "src/build/util/support": None,
391     "src/chrome/test/data/extensions/api_test/permissions/nacl_enabled/bin": None,
392     "src/chrome/test/data/perf/canvas_bench": None,
393     "src/chrome/test/data/perf/frame_rate/content": None,
394     "src/media/cdm/ppapi/api": None,
395     "src/native_client": None,
396     "src/native_client/src/third_party/ppapi": None,
397     "src/third_party/angle": None,
398     "src/third_party/bidichecker": None,
399     "src/third_party/brotli/src": None,
400     "src/third_party/cld_2/src": None,
401     "src/third_party/ffmpeg": None,
402     "src/third_party/hunspell_dictionaries": None,
403     "src/third_party/hunspell": None,
404     "src/third_party/libc++/trunk": None,
405     "src/third_party/libc++abi/trunk": None,
406     "src/third_party/libexif/sources": None,
407     "src/third_party/libjpeg_turbo": None,
408     "src/third_party/libsrtp": None,
409     "src/third_party/libvpx": None,
410     "src/third_party/libyuv": None,
411     "src/third_party/mesa/src": None,
412     "src/third_party/opus/src": None,
413     "src/third_party/openmax_dl": None,
414     "src/third_party/ots": None,
415     "src/third_party/pymox/src": None,
416     "src/third_party/safe_browsing/testing": None,
417     "src/third_party/scons-2.0.1": None,
418     "src/third_party/sfntly/cpp/src": None,
419     "src/third_party/speex": None,
420     "src/third_party/swig/Lib": None,
421     "src/third_party/usrsctp/usrsctplib": None,
422     "src/third_party/v8-i18n": None,
423     "src/third_party/webdriver/pylib": None,
424     "src/third_party/webgl": None,
425     "src/third_party/webpagereplay": None,
426     "src/third_party/webrtc": None,
427     "src/third_party/WebKit/LayoutTests/w3c/web-platform-tests": None,
428     "src/third_party/WebKit/LayoutTests/w3c/csswg-test": None,
429     "src/third_party/yasm/source/patched-yasm": None,
430     "src/tools/page_cycler/acid3": None,
431     "src/v8": None,
432   },
433   "mac": {
434     "src/chrome/tools/test/reference_build/chrome_mac":
435       "/trunk/deps/reference_builds/chrome_mac@273882",
437     "src/third_party/google_toolbox_for_mac/src":
438       (Var("googlecode_url") % "google-toolbox-for-mac") + "/trunk@" +
439       Var("google_toolbox_for_mac_revision"),
441     "src/third_party/pdfsqueeze":
442       (Var("googlecode_url") % "pdfsqueeze") + "/trunk@5",
444     "src/third_party/lighttpd":
445       "/trunk/deps/third_party/lighttpd@" + Var("lighttpd_revision"),
447     "src/third_party/swig/mac":
448       "/trunk/deps/third_party/swig/mac@" + Var("swig_revision"),
450     # NSS, for SSLClientSocketNSS.
451     "src/third_party/nss":
452       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
454     "src/chrome/installer/mac/third_party/xz/xz":
455       "/trunk/deps/third_party/xz@233311",
456   },
457   "unix": {
458     # Linux, really.
459     "src/chrome/tools/test/reference_build/chrome_linux":
460       "/trunk/deps/reference_builds/chrome_linux64@273882",
462     "src/third_party/xdg-utils":
463       "/trunk/deps/third_party/xdg-utils@203785",
465     "src/third_party/swig/linux":
466       "/trunk/deps/third_party/swig/linux@" + Var("swig_revision"),
468     "src/third_party/lss":
469       ((Var("googlecode_url") % "linux-syscall-support") + "/trunk/lss@" +
470        Var("lss_revision")),
472     # For Linux and Chromium OS.
473     "src/third_party/cros_system_api":
474       Var("chromiumos_git") + "/platform/system_api.git" +
475       "@22292bcde6edbbca175f3990bdd9cf32afb69391",
477     # Note that this is different from Android's freetype repo.
478     "src/third_party/freetype2/src":
479       Var("chromium_git") + "/chromium/src/third_party/freetype2.git" +
480       "@d699c2994ecc178c4ed05ac2086061b2034c2178",
482     # Build tools for targeting ChromeOS.
483     "src/third_party/chromite":
484       Var("chromiumos_git") + "/chromite.git" +
485       "@df22fd72b22d1905af6e69d23ec373b69c9c75f6",
487     # Dependency of chromite.git.
488     "src/third_party/pyelftools":
489       Var("chromiumos_git") + "/third_party/pyelftools.git" +
490       "@bdc1d380acd88d4bfaf47265008091483b0d614e",
492     "src/third_party/undoview":
493       "/trunk/deps/third_party/undoview@119694",
495     "src/third_party/liblouis/src":
496       Var("chromium_git") +
497       "/external/liblouis.git@3c2daee56250162e5a75830871601d74328d39f5",
499     # Used for embedded builds. CrOS & Linux use the system version.
500     "src/third_party/fontconfig/src":
501       Var("chromium_git") + "/external/fontconfig.git" +
502       "@f16c3118e25546c1b749f9823c51827a60aeb5c1",
503   },
504   "android": {
505     "src/third_party/android_tools":
506       Var("chromium_git") + "/android_tools.git" +
507       "@7e1a9d2fadc6d5aba62b235ffa9a15f3b4be06cb",
509     "src/third_party/aosp":
510       "/trunk/deps/third_party/aosp@148330",
512     "src/third_party/apache-mime4j":
513       "/trunk/deps/third_party/apache-mime4j@170888",
515     "src/third_party/findbugs":
516       "/trunk/deps/third_party/findbugs@245039",
518     "src/third_party/freetype":
519       Var("chromium_git") + "/chromium/src/third_party/freetype.git" +
520       "@a2b9955b49034a51dfbc8bf9f4e9d312149cecac",
522     "src/third_party/guava/src":
523       Var("chromium_git") + "/external/guava-libraries.git" +
524       "@c523556ab7d0f05afadebd20e7768d4c16af8771",
526    "src/third_party/elfutils/src":
527       Var("chromium_git") + "/external/elfutils.git" +
528       "@249673729a7e5dbd5de4f3760bdcaa3d23d154d7",
530     "src/third_party/httpcomponents-client":
531       "/trunk/deps/third_party/httpcomponents-client@170888",
533     "src/third_party/httpcomponents-core":
534       "/trunk/deps/third_party/httpcomponents-core@170888",
536     "src/third_party/jarjar":
537       "/trunk/deps/third_party/jarjar@170888",
539     "src/third_party/jsr-305/src":
540       (Var("googlecode_url") % "jsr-305") + "/trunk@51",
542     "src/third_party/lss":
543       ((Var("googlecode_url") % "linux-syscall-support") + "/trunk/lss@" +
544        Var("lss_revision")),
546     "src/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/braille":
547       (Var("googlecode_url") % "eyes-free") + "/trunk/braille/client/src/com/googlecode/eyesfree/braille@797",
548   },
552 include_rules = [
553   # Everybody can use some things.
554   "+base",
555   "+build",
556   "+ipc",
558   # Everybody can use headers generated by tools/generate_library_loader.
559   "+library_loaders",
561   "+testing",
562   "+third_party/icu/source/common/unicode",
563   "+third_party/icu/source/i18n/unicode",
564   "+url",
568 # checkdeps.py shouldn't check include paths for files in these dirs:
569 skip_child_includes = [
570   "breakpad",
571   "delegate_execute",
572   "metro_driver",
573   "native_client_sdk",
574   "o3d",
575   "sdch",
576   "skia",
577   "testing",
578   "third_party",
579   "v8",
580   "win8",
584 hooks = [
585   {
586     # This downloads binaries for Native Client's newlib toolchain.
587     # Done in lieu of building the toolchain from scratch as it can take
588     # anywhere from 30 minutes to 4 hours depending on platform to build.
589     "name": "nacltools",
590     "pattern": ".",
591     "action": [
592         "python", "src/build/download_nacl_toolchains.py",
593         "--exclude", "arm_trusted",
594     ],
595   },
596   {
597     # Downloads an ARM sysroot image to src/arm-sysroot. This image updates
598     # at about the same rate that the chrome build deps change.
599     # This script is a no-op except for linux users who have
600     # target_arch=arm in their GYP_DEFINES.
601     "name": "sysroot",
602     "pattern": ".",
603     "action": ["python", "src/build/linux/install-arm-sysroot.py",
604                "--linux-only"],
605   },
606   {
607     # Downloads the Debian Wheezy sysroot to chrome/installer/linux if needed.
608     # This sysroot updates at about the same rate that the chrome build deps
609     # change. This script is a no-op except for linux users who are doing
610     # official chrome builds.
611     "name": "sysroot",
612     "pattern": ".",
613     "action": [
614         "python",
615         "src/chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py",
616         "--linux-only",
617         "--arch=amd64"],
618   },
619   {
620     # Same as above, but for 32-bit Linux.
621     "name": "sysroot",
622     "pattern": ".",
623     "action": [
624         "python",
625         "src/chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py",
626         "--linux-only",
627         "--arch=i386"],
628   },
629   {
630     # Pull clang if on Mac or clang is requested via GYP_DEFINES.
631     "name": "clang",
632     "pattern": ".",
633     "action": ["python", "src/tools/clang/scripts/update.py", "--if-needed"],
634   },
635   {
636     # Update the Windows toolchain if necessary.
637     "name": "win_toolchain",
638     "pattern": ".",
639     "action": ["python", "src/build/vs_toolchain.py", "update"],
640   },
641   {
642     # Update LASTCHANGE. This is also run by export_tarball.py in
643     # src/tools/export_tarball - please keep them in sync.
644     "name": "lastchange",
645     "pattern": ".",
646     "action": ["python", "src/build/util/lastchange.py",
647                "-o", "src/build/util/LASTCHANGE"],
648   },
649   {
650     # Update LASTCHANGE.blink. This is also run by export_tarball.py in
651     # src/tools/export_tarball - please keep them in sync.
652     "name": "lastchange",
653     "pattern": ".",
654     "action": ["python", "src/build/util/lastchange.py",
655                "-s", "src/third_party/WebKit",
656                "-o", "src/build/util/LASTCHANGE.blink"],
657   },
658   # Pull GN binaries. This needs to be before running GYP below.
659   {
660     "name": "gn_win",
661     "pattern": ".",
662     "action": [ "download_from_google_storage",
663                 "--no_resume",
664                 "--platform=win32",
665                 "--no_auth",
666                 "--bucket", "chromium-gn",
667                 "-s", "src/buildtools/win/gn.exe.sha1",
668     ],
669   },
670   {
671     "name": "gn_mac",
672     "pattern": ".",
673     "action": [ "download_from_google_storage",
674                 "--no_resume",
675                 "--platform=darwin",
676                 "--no_auth",
677                 "--bucket", "chromium-gn",
678                 "-s", "src/buildtools/mac/gn.sha1",
679     ],
680   },
681   {
682     "name": "gn_linux32",
683     "pattern": ".",
684     "action": [ "download_from_google_storage",
685                 "--no_resume",
686                 "--platform=linux*",
687                 "--no_auth",
688                 "--bucket", "chromium-gn",
689                 "-s", "src/buildtools/linux32/gn.sha1",
690     ],
691   },
692   {
693     "name": "gn_linux64",
694     "pattern": ".",
695     "action": [ "download_from_google_storage",
696                 "--no_resume",
697                 "--platform=linux*",
698                 "--no_auth",
699                 "--bucket", "chromium-gn",
700                 "-s", "src/buildtools/linux64/gn.sha1",
701     ],
702   },
703   {
704     # Remove GN binaries from tools/gn/bin that aren't used anymore.
705     # TODO(brettw) remove after the end of July, 2014.
706     "name": "remove_old_gn_binaries",
707     "pattern": ".",
708     "action": ["python", "src/tools/gn/bin/rm_binaries.py"],
709   },
710   # Pull clang-format binaries using checked-in hashes.
711   {
712     "name": "clang_format_win",
713     "pattern": ".",
714     "action": [ "download_from_google_storage",
715                 "--no_resume",
716                 "--platform=win32",
717                 "--no_auth",
718                 "--bucket", "chromium-clang-format",
719                 "-s", "src/buildtools/win/clang-format.exe.sha1",
720     ],
721   },
722   {
723     "name": "clang_format_mac",
724     "pattern": ".",
725     "action": [ "download_from_google_storage",
726                 "--no_resume",
727                 "--platform=darwin",
728                 "--no_auth",
729                 "--bucket", "chromium-clang-format",
730                 "-s", "src/buildtools/mac/clang-format.sha1",
731     ],
732   },
733   {
734     "name": "clang_format_linux",
735     "pattern": ".",
736     "action": [ "download_from_google_storage",
737                 "--no_resume",
738                 "--platform=linux*",
739                 "--no_auth",
740                 "--bucket", "chromium-clang-format",
741                 "-s", "src/buildtools/linux64/clang-format.sha1",
742     ],
743   },
744   {
745     # Remove clang-format binaries from third_party/clang_format/bin that
746     # aren't used anymore.
747     # TODO(jochen) remove this and the .gitignore entry after the end of July,
748     # 2014.
749     "name": "remove_old_clang_format_binaries",
750     "pattern": ".",
751     "action": ["python", "src/third_party/clang_format/bin/rm_binaries.py"],
752   },
753   # Pull binutils for linux, enabled debug fission for faster linking /
754   # debugging when used with clang on Ubuntu Precise.
755   # https://code.google.com/p/chromium/issues/detail?id=352046
756   {
757     "name": "binutils",
758     "pattern": "src/third_party/binutils",
759     "action": [
760         "python",
761         "src/third_party/binutils/download.py",
762     ],
763   },
764   # Pull eu-strip binaries using checked-in hashes.
765   {
766     "name": "eu-strip",
767     "pattern": ".",
768     "action": [ "download_from_google_storage",
769                 "--no_resume",
770                 "--platform=linux*",
771                 "--no_auth",
772                 "--bucket", "chromium-eu-strip",
773                 "-s", "src/build/linux/bin/eu-strip.sha1",
774     ],
775   },
776   {
777     "name": "drmemory",
778     "pattern": ".",
779     "action": [ "download_from_google_storage",
780                 "--no_resume",
781                 "--platform=win32",
782                 "--no_auth",
783                 "--bucket", "chromium-drmemory",
784                 "-s", "src/third_party/drmemory/drmemory-windows-sfx.exe.sha1",
785               ],
786   },
787   # Pull the Syzygy binaries, used for optimization and instrumentation.
788   {
789     "name": "syzygy-binaries",
790     "pattern": ".",
791     "action": ["python",
792                "src/build/get_syzygy_binaries.py",
793                "--output-dir=src/third_party/syzygy/binaries",
794                "--revision=b08fb72610963d31cc3eae33f746a04e263bd860",
795                "--overwrite",
796     ],
797   },
798   {
799     "name": "apache_win32",
800     "pattern": "\\.sha1",
801     "action": [ "download_from_google_storage",
802                 "--no_resume",
803                 "--platform=win32",
804                 "--directory",
805                 "--recursive",
806                 "--no_auth",
807                 "--num_threads=16",
808                 "--bucket", "chromium-apache-win32",
809                 "src/third_party/apache-win32",
810     ],
811   },
812   {
813     # A change to a .gyp, .gypi, or to GYP itself should run the generator.
814     "name": "gyp",
815     "pattern": ".",
816     "action": ["python", "src/build/gyp_chromium"],
817   },