Optimize MetricsDetails classes to avoid a lot of redundant work.
[chromium-blink-merge.git] / DEPS
blob1205c2c92ff142c76a5a0f52fc67e7c09130739f
1 # This file is used to manage the dependencies of the Chromium src repo. It is
2 # used by gclient to determine what version of each dependency to check out, and
3 # where.
5 # For more information, please refer to the official documentation:
6 #   https://sites.google.com/a/chromium.org/dev/developers/how-tos/get-the-code
8 # When adding a new dependency, please update the top-level .gitignore file
9 # to list the dependency's destination directory.
11 # -----------------------------------------------------------------------------
12 # Rolling deps
13 # -----------------------------------------------------------------------------
14 # All repositories in this file are git-based, using Chromium git mirrors where
15 # necessary (e.g., a git mirror is used when the source project is SVN-based).
16 # To update the revision that Chromium pulls for a given dependency:
18 #  # Create and switch to a new branch
19 #  git new-branch depsroll
20 #  # Run roll-dep (provided by depot_tools) giving the dep's path and the
21 #  # desired SVN revision number (e.g., third_party/foo/bar and a revision such
22 #  # number from Subversion)
23 #  roll-dep third_party/foo/bar REVISION_NUMBER
24 #  # You should now have a modified DEPS file; commit and upload as normal
25 #  git commit -a
26 #  git cl upload
29 vars = {
30   # Use this googlecode_url variable only if there is an internal mirror for it.
31   # If you do not know, use the full path while defining your new deps entry.
32   'googlecode_url': 'http://%s.googlecode.com/svn',
33   'sourceforge_url': 'http://svn.code.sf.net/p/%(repo)s/code',
34   'llvm_url': 'http://src.chromium.org/llvm-project',
35   'llvm_git': 'https://llvm.googlesource.com',
36   'webkit_trunk': 'http://src.chromium.org/blink/trunk',
37   'webkit_revision': '43218a178d7664d48eac5e06cfd11059de328f61', # from svn revision 188747
38   'chromium_git': 'https://chromium.googlesource.com',
39   'chromiumos_git': 'https://chromium.googlesource.com/chromiumos',
40   'pdfium_git': 'https://pdfium.googlesource.com',
41   'skia_git': 'https://skia.googlesource.com',
42   'boringssl_git': 'https://boringssl.googlesource.com',
43   'libvpx_revision': '3fdc59b241fdf9dc08d4073a23eb85328340e856',
44   'sfntly_revision': '1bdaae8fc788a5ac8936d68bf24f37d977a13dac',
45   'skia_revision': '711ef4831363fb8cbdf061dc2c36c65b13c0ccf2',
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_branch': 'trunk',
50   'v8_revision': '3efdae6669030b03a841c8d579655ba1f36b1f87',
51   # Three lines of non-changing comments so that
52   # the commit queue can handle CLs rolling WebRTC
53   # and V8 without interference from each other.
54   # Three lines of non-changing comments so that
55   # the commit queue can handle CLs rolling swarming_client
56   # and whatever else without interference from each other.
57   'swarming_revision': '0a795bd52b2e58a2b73002e7f9ce5cad936e53c4',
58   # Three lines of non-changing comments so that
59   # the commit queue can handle CLs rolling ANGLE
60   # and whatever else without interference from each other.
61   'angle_revision': 'dd806c2b58aac61f010c7b1c6831f9541209f490',
62   # Three lines of non-changing comments so that
63   # the commit queue can handle CLs rolling build tools
64   # and whatever else without interference from each other.
65   'buildtools_revision': '451dcd05a5b34936f5be67b2472cd63aaa508401',
66   # Three lines of non-changing comments so that
67   # the commit queue can handle CLs rolling PDFium
68   # and whatever else without interference from each other.
69   'pdfium_revision': 'aa7b4ede03764a5701a477b601720a32c88d8e42',
70   # Three lines of non-changing comments so that
71   # the commit queue can handle CLs rolling openmax_dl
72   # and whatever else without interference from each other.
73   'openmax_dl_revision': '1a4171cedda887acc49408a8ea06bea740e74481',
74   # Three lines of non-changing comments so that
75   # the commit queue can handle CLs rolling BoringSSL
76   # and whatever else without interference from each other.
77   'boringssl_revision': 'e49da742cb8da281bbeaa7a54aad90aa5d3d19fe',
78   # Three lines of non-changing comments so that
79   # the commit queue can handle CLs rolling nss
80   # and whatever else without interference from each other.
81   'nss_revision': 'bb4e75a43d007518ae7d618665ea2f25b0c60b63',
82   # Three lines of non-changing comments so that
83   # the commit queue can handle CLs rolling google-toolbox-for-mac
84   # and whatever else without interference from each other.
85   'google_toolbox_for_mac_revision': 'a09526298f9dd1ec49d3b3ac5608d2a257b94cef',
86   # Three lines of non-changing comments so that
87   # the commit queue can handle CLs rolling lighttpd
88   # and whatever else without interference from each other.
89   'lighttpd_revision': '9dfa55d15937a688a92cbf2b7a8621b0927d06eb',
90   # Three lines of non-changing comments so that
91   # the commit queue can handle CLs rolling lss
92   # and whatever else without interference from each other.
93   'lss_revision': '952107fa7cea0daaabead28c0e92d579bee517eb',
94   # Three lines of non-changing comments so that
95   # the commit queue can handle CLs rolling NaCl
96   # and whatever else without interference from each other.
97   'nacl_revision': '17875586859e9de41bb271ee219c7113e0e78676',
100 # Only these hosts are allowed for dependencies in this DEPS file.
101 # If you need to add a new host, contact chrome infrastracture team.
102 allowed_hosts = [
103   'chromium.googlesource.com',
104   'boringssl.googlesource.com',
105   'pdfium.googlesource.com',
108 deps = {
109   'src/breakpad/src':
110    Var('chromium_git') + '/external/google-breakpad/src.git' + '@' + '58aca2ddf2f7d873b8705886c8cce1b3f68c2bc9', # from svn revision 1413
112   'src/buildtools':
113    Var('chromium_git') + '/chromium/buildtools.git' + '@' +  Var('buildtools_revision'),
115   'src/sdch/open-vcdiff':
116    Var('chromium_git') + '/external/open-vcdiff.git' + '@' + '438f2a5be6d809bc21611a94cd37bfc8c28ceb33', # from svn revision 41
118   'src/testing/gtest':
119    Var('chromium_git') + '/external/googletest.git' + '@' + 'be1868139ffe0ccd0e8e3b37292b84c821d9c8ad', # from svn revision 704
121   'src/testing/gmock':
122    Var('chromium_git') + '/external/googlemock.git' + '@' + '29763965ab52f24565299976b936d1265cb6a271', # from svn revision 501
124   'src/third_party/angle':
125    Var('chromium_git') + '/angle/angle.git' + '@' +  Var('angle_revision'),
127   'src/third_party/colorama/src':
128    Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
130   'src/third_party/trace-viewer':
131    Var('chromium_git') + '/external/trace-viewer.git' + '@' + '3470cc939061a9238695747557adc41eb35ed267',
133   'src/third_party/WebKit':
134    Var('chromium_git') + '/chromium/blink.git' + '@' +  Var('webkit_revision'),
136   'src/third_party/icu':
137    Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '4e3266f32c62d30a3f9e2232a753c60129d1e670',
139   'src/third_party/libexif/sources':
140    Var('chromium_git') + '/chromium/deps/libexif/sources.git' + '@' + 'ed98343daabd7b4497f97fda972e132e6877c48a',
142   'src/third_party/hunspell':
143    Var('chromium_git') + '/chromium/deps/hunspell.git' + '@' + 'c956c0e97af00ef789afb2f64d02c9a5a50e6eb1',
145   'src/third_party/hunspell_dictionaries':
146    Var('chromium_git') + '/chromium/deps/hunspell_dictionaries.git' + '@' + '94eb94ce85661b54bb3c27bedeff5428b4a2798e', # from svn revision 292714
148   'src/third_party/safe_browsing/testing':
149     Var('chromium_git') + '/external/google-safe-browsing/testing.git' + '@' + '9d7e8064f3ca2e45891470c9b5b1dce54af6a9d6',
151   'src/third_party/cacheinvalidation/src':
152     Var('chromium_git') + '/external/google-cache-invalidation-api/src.git' + '@' + 'c91bd9d9fed06bf440be64f87b94a2effdb32bc4', # from svn revision 341
154   'src/third_party/leveldatabase/src':
155     Var('chromium_git') + '/external/leveldb.git' + '@' + '251ebf5dc70129ad3c38193fe6c99a5b0ec6b9fa',
157   'src/third_party/snappy/src':
158     Var('chromium_git') + '/external/snappy.git' + '@' + '762bb32f0c9d2f31ba4958c7c0933d22e80c20bf',
160   'src/tools/grit':
161     Var('chromium_git') + '/external/grit-i18n.git' + '@' + 'a5890a8118c0c80cc0560e6d8d5cf65e5d725509', # from svn revision 185
163   'src/tools/gyp':
164     Var('chromium_git') + '/external/gyp.git' + '@' + 'adb7d24b9fc166f01ab2da50478556b518a9218f', # from svn revision 2027
166   'src/tools/swarming_client':
167    Var('chromium_git') + '/external/swarming.client.git' + '@' +  Var('swarming_revision'),
169   'src/v8':
170     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
172   'src/native_client':
173    Var('chromium_git') + '/native_client/src/native_client.git' + '@' + Var('nacl_revision'),
175   'src/third_party/sfntly/cpp/src':
176     Var('chromium_git') + '/external/sfntly/cpp/src.git' + '@' +  Var('sfntly_revision'),
178   'src/third_party/skia':
179    Var('chromium_git') + '/skia.git' + '@' +  Var('skia_revision'),
181   'src/third_party/ots':
182     Var('chromium_git') + '/external/ots.git' + '@' + '98897009f3ea8a5fa3e20a4a74977da7aaa8e61a',
184   'src/third_party/brotli/src':
185    Var('chromium_git') + '/external/font-compression-reference.git' + '@' + '8c9c83426beb4a58da34be76ea1fccb4054c4703',
187   'src/tools/page_cycler/acid3':
188    Var('chromium_git') + '/chromium/deps/acid3.git' + '@' + '6be0a66a1ebd7ebc5abc1b2f405a945f6d871521',
190   'src/chrome/test/data/perf/canvas_bench':
191    Var('chromium_git') + '/chromium/canvas_bench.git' + '@' + 'a7b40ea5ae0239517d78845a5fc9b12976bfc732',
193   'src/chrome/test/data/perf/frame_rate/content':
194    Var('chromium_git') + '/chromium/frame_rate/content.git' + '@' + 'c10272c88463efeef6bb19c9ec07c42bc8fe22b9',
196   'src/third_party/bidichecker':
197     Var('chromium_git') + '/external/bidichecker/lib.git' + '@' + '97f2aa645b74c28c57eca56992235c79850fa9e0',
199   'src/third_party/webgl/src':
200    Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + 'ff796782c581a03c5f36e547b8218a23083c8534',
202   'src/third_party/swig/Lib':
203    Var('chromium_git') + '/chromium/deps/swig/Lib.git' + '@' + 'f2a695d52e61e6a8d967731434f165ed400f0d69',
205   'src/third_party/webdriver/pylib':
206     Var('chromium_git') + '/external/selenium/py.git' + '@' + '5fd78261a75fe08d27ca4835fb6c5ce4b42275bd',
208   'src/third_party/libvpx':
209    Var('chromium_git') + '/chromium/deps/libvpx.git' + '@' +  Var('libvpx_revision'),
211   'src/third_party/ffmpeg':
212    Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + 'ff47c53afa6bc5a2d705c569dbca324d71447f6f',
214   'src/third_party/libjingle/source/talk':
215     Var('chromium_git') + '/external/webrtc/trunk/talk.git' + '@' + '0cefabf46724ebb7c3e6b24cbf2e68f5ada1840b', # from svn revision 8110
217   'src/third_party/usrsctp/usrsctplib':
218     Var('chromium_git') + '/external/usrsctplib.git' + '@' + '190c8cbfcf8fd810aa09e0fab4ca62a8ce724e14',
220   'src/third_party/libsrtp':
221    Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '6446144c7f083552f21cc4e6768e891bcb767574',
223   'src/third_party/yasm/source/patched-yasm':
224    Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + '4671120cd8558ce62ee8672ebf3eb6f5216f909b',
226   'src/third_party/libjpeg_turbo':
227    Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + '034e9a9747e0983bc19808ea70e469bc8342081f',
229   'src/third_party/flac':
230    Var('chromium_git') + '/chromium/deps/flac.git' + '@' + '0635a091379d9677f1ddde5f2eec85d0f096f219',
232   'src/third_party/pyftpdlib/src':
233     Var('chromium_git') + '/external/pyftpdlib.git' + '@' + '2be6d65e31c7ee6320d059f581f05ae8d89d7e45',
235   'src/third_party/scons-2.0.1':
236    Var('chromium_git') + '/native_client/src/third_party/scons-2.0.1.git' + '@' + '1c1550e17fc26355d08627fbdec13d8291227067',
238   'src/third_party/webrtc':
239     Var('chromium_git') + '/external/webrtc/trunk/webrtc.git' + '@' + 'e21bc7c2638cd0bb361010fd0b09b64636316fd1', # from svn revision 8109
241   'src/third_party/openmax_dl':
242     Var('chromium_git') + '/external/webrtc/deps/third_party/openmax.git' + '@' +  Var('openmax_dl_revision'),
244   'src/third_party/jsoncpp/source/include':
245     Var('chromium_git') + '/external/jsoncpp/jsoncpp/include.git' + '@' + 'b0dd48e02b6e6248328db78a65b5c601f150c349',
247   'src/third_party/jsoncpp/source/src/lib_json':
248     Var('chromium_git') + '/external/jsoncpp/jsoncpp/src/lib_json.git' + '@' + 'a8caa51ba2f80971a45880425bf2ae864a786784',
250   'src/third_party/libyuv':
251     Var('chromium_git') + '/external/libyuv.git' + '@' + 'd204db647e591ccf0e2589236ecea90330d65a66', # from svn revision 1171
253   'src/third_party/smhasher/src':
254     Var('chromium_git') + '/external/smhasher.git' + '@' + 'e87738e57558e0ec472b2fc3a643b838e5b6e88f',
256   'src/third_party/libaddressinput/src':
257     Var('chromium_git') + '/external/libaddressinput.git' + '@' + '61f63da7ae6fa469138d60dec5d6bbecc6ab43d6',
259   # These are all at libphonenumber r728.
260   'src/third_party/libphonenumber/src/phonenumbers':
261     Var('chromium_git') + '/external/libphonenumber/cpp/src/phonenumbers.git' + '@' + '0d6e3e50e17c94262ad1ca3b7d52b11223084bca',
262   'src/third_party/libphonenumber/src/test':
263     Var('chromium_git') + '/external/libphonenumber/cpp/test.git' + '@' + 'f351a7e007f9c9995494499120bbc361ca808a16',
264   'src/third_party/libphonenumber/src/resources':
265     Var('chromium_git') + '/external/libphonenumber/resources.git' + '@' + 'b6dfdc7952571ff7ee72643cd88c988cbe966396',
267   'src/tools/deps2git':
268    Var('chromium_git') + '/chromium/tools/deps2git.git' + '@' + 'f04828eb0b5acd3e7ad983c024870f17f17b06d9',
270   'src/third_party/webpagereplay':
271    Var('chromium_git') + '/external/web-page-replay.git' + '@' + '818d4271650f4f83d1635e94549e8457584dfac4',
273   'src/third_party/pywebsocket/src':
274     Var('chromium_git') + '/external/pywebsocket/src.git' + '@' + 'cb349e87ddb30ff8d1fa1a89be39cec901f4a29c',
276   'src/third_party/opus/src':
277    Var('chromium_git') + '/chromium/deps/opus.git' + '@' + 'cae696156f1e60006e39821e79a1811ae1933c69',
279   'src/media/cdm/ppapi/api':
280    Var('chromium_git') + '/chromium/cdm.git' + '@' + '7b7c6cc620e13c8057b4b6bff19e5955feb2c8fa', # from svn revision 293617
282   'src/third_party/mesa/src':
283    Var('chromium_git') + '/chromium/deps/mesa.git' + '@' + '071d25db04c23821a12a8b260ab9d96a097402f0',
285   'src/third_party/cld_2/src':
286     Var('chromium_git') + '/external/cld2.git' + '@' + '14d9ef8d4766326f8aa7de54402d1b9c782d4481', # from svn revision 193
288   'src/third_party/pdfium':
289    'https://pdfium.googlesource.com/pdfium.git' + '@' +  Var('pdfium_revision'),
291   'src/third_party/boringssl/src':
292    'https://boringssl.googlesource.com/boringssl.git' + '@' +  Var('boringssl_revision'),
294   'src/third_party/py_trace_event/src':
295     Var('chromium_git') + '/external/py_trace_event.git' + '@' + 'dd463ea9e2c430de2b9e53dea57a77b4c3ac9b30',
299 deps_os = {
300   'win': {
301     'src/chrome/tools/test/reference_build/chrome_win':
302      Var('chromium_git') + '/chromium/reference_builds/chrome_win.git' + '@' + 'f8a3a845dfc845df6b14280f04f86a61959357ef',
304     'src/third_party/cygwin':
305      Var('chromium_git') + '/chromium/deps/cygwin.git' + '@' + 'c89e446b273697fadf3a10ff1007a97c0b7de6df',
307     'src/third_party/psyco_win32':
308      Var('chromium_git') + '/chromium/deps/psyco_win32.git' + '@' + 'f5af9f6910ee5a8075bbaeed0591469f1661d868',
310     'src/third_party/bison':
311      Var('chromium_git') + '/chromium/deps/bison.git' + '@' + '083c9a45e4affdd5464ee2b224c2df649c6e26c3',
313     'src/third_party/gperf':
314      Var('chromium_git') + '/chromium/deps/gperf.git' + '@' + 'd892d79f64f9449770443fb06da49b5a1e5d33c1',
316     'src/third_party/perl':
317      Var('chromium_git') + '/chromium/deps/perl.git' + '@' + 'ac0d98b5cee6c024b0cffeb4f8f45b6fc5ccdb78',
319     'src/third_party/lighttpd':
320      Var('chromium_git') + '/chromium/deps/lighttpd.git' + '@' + Var('lighttpd_revision'),
322     # Parses Windows PE/COFF executable format.
323     'src/third_party/pefile':
324      Var('chromium_git') + '/external/pefile.git' + '@' + '72c6ae42396cb913bcab63c15585dc3b5c3f92f1',
326     # NSS, for SSLClientSocketNSS.
327     'src/third_party/nss':
328      Var('chromium_git') + '/chromium/deps/nss.git' + '@' + Var('nss_revision'),
330     'src/third_party/swig/win':
331      Var('chromium_git') + '/chromium/deps/swig/win.git' + '@' + '986f013ba518541adf5c839811efb35630a31031',
333     # GNU binutils assembler for x86-32.
334     'src/third_party/gnu_binutils':
335       Var('chromium_git') + '/native_client/deps/third_party/gnu_binutils.git' + '@' + 'f4003433b61b25666565690caf3d7a7a1a4ec436',
336     # GNU binutils assembler for x86-64.
337     'src/third_party/mingw-w64/mingw/bin':
338       Var('chromium_git') + '/native_client/deps/third_party/mingw-w64/mingw/bin.git' + '@' + '3cc8b140b883a9fe4986d12cfd46c16a093d3527',
340     # Dependencies used by libjpeg-turbo
341     'src/third_party/yasm/binaries':
342      Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
344     # Binaries for nacl sdk.
345     'src/third_party/nacl_sdk_binaries':
346      Var('chromium_git') + '/chromium/deps/nacl_sdk_binaries.git' + '@' + '759dfca03bdc774da7ecbf974f6e2b84f43699a5',
348     # Omaha code for src/app_installer/.
349     'src/third_party/omaha/src/omaha':
350      Var('chromium_git') + '/external/omaha.git' + '@' + '098c7a3d157218dab4eed595e8f2fbe5a20a0bae',
351   },
352   'ios': {
353     'src/third_party/google_toolbox_for_mac/src':
354       Var('chromium_git') + '/external/google-toolbox-for-mac.git' + '@' + Var('google_toolbox_for_mac_revision'),
356     'src/third_party/nss':
357      Var('chromium_git') + '/chromium/deps/nss.git' + '@' + Var('nss_revision'),
359     # class-dump utility to generate header files for undocumented SDKs
360     'src/testing/iossim/third_party/class-dump':
361      Var('chromium_git') + '/chromium/deps/class-dump.git' + '@' + '89bd40883c767584240b4dade8b74e6f57b9bdab',
363     # Code that's not needed due to not building everything
364     'src/chrome/test/data/perf/canvas_bench': None,
365     'src/chrome/test/data/perf/frame_rate/content': None,
366     'src/native_client': None,
367     'src/third_party/ffmpeg': None,
368     'src/third_party/hunspell_dictionaries': None,
369     'src/third_party/hunspell': None,
370     'src/third_party/webgl': None,
371   },
372   'mac': {
373     'src/chrome/tools/test/reference_build/chrome_mac':
374      Var('chromium_git') + '/chromium/reference_builds/chrome_mac.git' + '@' + '8dc181329e7c5255f83b4b85dc2f71498a237955',
376     'src/third_party/google_toolbox_for_mac/src':
377       Var('chromium_git') + '/external/google-toolbox-for-mac.git' + '@' + Var('google_toolbox_for_mac_revision'),
380     'src/third_party/pdfsqueeze':
381       Var('chromium_git') + '/external/pdfsqueeze.git' + '@' + '5936b871e6a087b7e50d4cbcb122378d8a07499f',
383     'src/third_party/lighttpd':
384      Var('chromium_git') + '/chromium/deps/lighttpd.git' + '@' + Var('lighttpd_revision'),
386     'src/third_party/swig/mac':
387      Var('chromium_git') + '/chromium/deps/swig/mac.git' + '@' + '1b182eef16df2b506f1d710b34df65d55c1ac44e',
389     # NSS, for SSLClientSocketNSS.
390     'src/third_party/nss':
391      Var('chromium_git') + '/chromium/deps/nss.git' + '@' + Var('nss_revision'),
393     'src/chrome/installer/mac/third_party/xz/xz':
394      Var('chromium_git') + '/chromium/deps/xz.git' + '@' + 'eecaf55632ca72e90eb2641376bce7cdbc7284f7',
395   },
396   'unix': {
397     # Linux, really.
398     'src/chrome/tools/test/reference_build/chrome_linux':
399      Var('chromium_git') + '/chromium/reference_builds/chrome_linux64.git' + '@' + '033d053a528e820e1de3e2db766678d862a86b36',
401     'src/third_party/xdg-utils':
402      Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
404     'src/third_party/swig/linux':
405      Var('chromium_git') + '/chromium/deps/swig/linux.git' + '@' + '866b8e0e0e0cfe99ebe608260030916ca0c3f92d',
407     'src/third_party/lss':
408       Var('chromium_git') + '/external/linux-syscall-support/lss.git' + '@' + Var('lss_revision'),
410     # For Linux and Chromium OS.
411     'src/third_party/cros_system_api':
412      Var('chromium_git') + '/chromiumos/platform/system_api.git' + '@' + '7678688b4405325d32fdfb45064128b9accb9a71',
414     # Note that this is different from Android's freetype repo.
415     'src/third_party/freetype2/src':
416      Var('chromium_git') + '/chromium/src/third_party/freetype2.git' + '@' + '495a23fce9cd125f715dc20643d14fed226d76ac',
418     # Build tools for Chrome OS.
419     'src/third_party/chromite':
420      Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'c1bb274a82c13f76c3d8560808423605bfd84d76',
422     # Dependency of chromite.git.
423     'src/third_party/pyelftools':
424      Var('chromium_git') + '/chromiumos/third_party/pyelftools.git' + '@' + '19b3e610c86fcadb837d252c794cb5e8008826ae',
426     'src/third_party/undoview':
427      Var('chromium_git') + '/chromium/deps/undoview.git' + '@' + '3ba503e248f3cdbd81b78325a24ece0984637559',
429     'src/third_party/liblouis/src':
430      Var('chromium_git') + '/external/liblouis-github.git' + '@' + '5f9c03f2a3478561deb6ae4798175094be8a26c2',
432     # Used for embedded builds. CrOS & Linux use the system version.
433     'src/third_party/fontconfig/src':
434      Var('chromium_git') + '/external/fontconfig.git' + '@' + 'f16c3118e25546c1b749f9823c51827a60aeb5c1',
436     'src/third_party/stp/src':
437      Var('chromium_git') + '/external/github.com/stp/stp.git' + '@' + 'fc94a599207752ab4d64048204f0c88494811b62',
438   },
439   'android': {
440     'src/third_party/android_protobuf/src':
441      Var('chromium_git') + '/external/android_protobuf.git' + '@' + '94f522f907e3f34f70d9e7816b947e62fddbb267',
443     'src/third_party/android_tools':
444      Var('chromium_git') + '/android_tools.git' + '@' + '56b3d3e8ce785e468eac3262cd6b107ebe569e94',
446     'src/third_party/apache-mime4j':
447      Var('chromium_git') + '/chromium/deps/apache-mime4j.git' + '@' + '28cb1108bff4b6cf0a2e86ff58b3d025934ebe3a',
449     'src/third_party/appurify-python/src':
450      Var('chromium_git') + '/external/github.com/appurify/appurify-python.git' + '@' + 'ee7abd5c5ae3106f72b2a0b9d2cb55094688e867',
452     'src/third_party/findbugs':
453      Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '7f69fa78a6db6dc31866d09572a0e356e921bf12',
455     'src/third_party/freetype':
456      Var('chromium_git') + '/chromium/src/third_party/freetype.git' + '@' + 'fd6919ac23f74b876c209aba5eaa2be662086391',
458    'src/third_party/elfutils/src':
459      Var('chromium_git') + '/external/elfutils.git' + '@' + '249673729a7e5dbd5de4f3760bdcaa3d23d154d7',
461     'src/third_party/httpcomponents-client':
462      Var('chromium_git') + '/chromium/deps/httpcomponents-client.git' + '@' + '285c4dafc5de0e853fa845dce5773e223219601c',
464     'src/third_party/httpcomponents-core':
465      Var('chromium_git') + '/chromium/deps/httpcomponents-core.git' + '@' + '9f7180a96f8fa5cab23f793c14b413356d419e62',
467     'src/third_party/jarjar':
468      Var('chromium_git') + '/chromium/deps/jarjar.git' + '@' + '2e1ead4c68c450e0b77fe49e3f9137842b8b6920',
470     'src/third_party/jsr-305/src':
471       Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
473     'src/third_party/junit/src':
474       Var('chromium_git') + '/external/junit.git' + '@' + '45a44647e7306262162e1346b750c3209019f2e1',
476     'src/third_party/mockito/src':
477       Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'ed99a52e94a84bd7c467f2443b475a22fcc6ba8e',
479     'src/third_party/lss':
480       Var('chromium_git') + '/external/linux-syscall-support/lss.git' + '@' + Var('lss_revision'),
482     'src/third_party/requests/src':
483       Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
485   },
489 include_rules = [
490   # Everybody can use some things.
491   '+base',
492   '+build',
493   '+ipc',
495   # Everybody can use headers generated by tools/generate_library_loader.
496   '+library_loaders',
498   '+testing',
499   '+third_party/icu/source/common/unicode',
500   '+third_party/icu/source/i18n/unicode',
501   '+url',
505 # checkdeps.py shouldn't check include paths for files in these dirs:
506 skip_child_includes = [
507   'breakpad',
508   'delegate_execute',
509   'metro_driver',
510   'native_client_sdk',
511   'o3d',
512   'sdch',
513   'skia',
514   'testing',
515   'third_party',
516   'v8',
517   'win8',
521 hooks = [
522   {
523     # This clobbers when necessary (based on get_landmines.py). It must be the
524     # first hook so that other things that get/generate into the output
525     # directory will not subsequently be clobbered.
526     'name': 'landmines',
527     'pattern': '.',
528     'action': [
529         'python',
530         'src/build/landmines.py',
531     ],
532   },
533   {
534     # This downloads binaries for Native Client's newlib toolchain.
535     # Done in lieu of building the toolchain from scratch as it can take
536     # anywhere from 30 minutes to 4 hours depending on platform to build.
537     'name': 'nacltools',
538     'pattern': '.',
539     'action': [
540         'python',
541         'src/build/download_nacl_toolchains.py',
542         '--mode', 'nacl_core_sdk',
543         'sync',
544     ],
545   },
546   {
547     # This downloads SDK extras and puts them in the
548     # third_party/android_tools/sdk/extras directory on the bots. Developers
549     # need to manually install these packages and accept the ToS.
550     'name': 'sdkextras',
551     'pattern': '.',
552     # When adding a new sdk extras package to download, add the package
553     # directory and zip file to .gitignore in third_party/android_tools.
554     'action': ['python', 'src/build/download_sdk_extras.py'],
555   },
556   {
557     # Downloads the Debian Wheezy sysroot to chrome/installer/linux if needed.
558     # This sysroot updates at about the same rate that the chrome build deps
559     # change. This script is a no-op except for linux users who are doing
560     # official chrome builds.
561     'name': 'sysroot',
562     'pattern': '.',
563     'action': [
564         'python',
565         'src/chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py',
566         '--linux-only'],
567   },
568   {
569     # Update the Windows toolchain if necessary.
570     'name': 'win_toolchain',
571     'pattern': '.',
572     'action': ['python', 'src/build/vs_toolchain.py', 'update'],
573   },
574   {
575     # Pull clang if needed or requested via GYP_DEFINES.
576     # Note: On Win, this should run after win_toolchain, as it may use it.
577     'name': 'clang',
578     'pattern': '.',
579     'action': ['python', 'src/tools/clang/scripts/update.py', '--if-needed'],
580   },
581   {
582     # Update LASTCHANGE. This is also run by export_tarball.py in
583     # src/tools/export_tarball - please keep them in sync.
584     'name': 'lastchange',
585     'pattern': '.',
586     'action': ['python', 'src/build/util/lastchange.py',
587                '-o', 'src/build/util/LASTCHANGE'],
588   },
589   {
590     # Update LASTCHANGE.blink. This is also run by export_tarball.py in
591     # src/tools/export_tarball - please keep them in sync.
592     'name': 'lastchange',
593     'pattern': '.',
594     'action': ['python', 'src/build/util/lastchange.py',
595                '-s', 'src/third_party/WebKit',
596                '-o', 'src/build/util/LASTCHANGE.blink'],
597   },
598   # Pull GN binaries. This needs to be before running GYP below.
599   {
600     'name': 'gn_win',
601     'pattern': '.',
602     'action': [ 'download_from_google_storage',
603                 '--no_resume',
604                 '--platform=win32',
605                 '--no_auth',
606                 '--bucket', 'chromium-gn',
607                 '-s', 'src/buildtools/win/gn.exe.sha1',
608     ],
609   },
610   {
611     'name': 'gn_mac',
612     'pattern': '.',
613     'action': [ 'download_from_google_storage',
614                 '--no_resume',
615                 '--platform=darwin',
616                 '--no_auth',
617                 '--bucket', 'chromium-gn',
618                 '-s', 'src/buildtools/mac/gn.sha1',
619     ],
620   },
621   {
622     'name': 'gn_linux32',
623     'pattern': '.',
624     'action': [ 'download_from_google_storage',
625                 '--no_resume',
626                 '--platform=linux*',
627                 '--no_auth',
628                 '--bucket', 'chromium-gn',
629                 '-s', 'src/buildtools/linux32/gn.sha1',
630     ],
631   },
632   {
633     'name': 'gn_linux64',
634     'pattern': '.',
635     'action': [ 'download_from_google_storage',
636                 '--no_resume',
637                 '--platform=linux*',
638                 '--no_auth',
639                 '--bucket', 'chromium-gn',
640                 '-s', 'src/buildtools/linux64/gn.sha1',
641     ],
642   },
643   # Pull clang-format binaries using checked-in hashes.
644   {
645     'name': 'clang_format_win',
646     'pattern': '.',
647     'action': [ 'download_from_google_storage',
648                 '--no_resume',
649                 '--platform=win32',
650                 '--no_auth',
651                 '--bucket', 'chromium-clang-format',
652                 '-s', 'src/buildtools/win/clang-format.exe.sha1',
653     ],
654   },
655   {
656     'name': 'clang_format_mac',
657     'pattern': '.',
658     'action': [ 'download_from_google_storage',
659                 '--no_resume',
660                 '--platform=darwin',
661                 '--no_auth',
662                 '--bucket', 'chromium-clang-format',
663                 '-s', 'src/buildtools/mac/clang-format.sha1',
664     ],
665   },
666   {
667     'name': 'clang_format_linux',
668     'pattern': '.',
669     'action': [ 'download_from_google_storage',
670                 '--no_resume',
671                 '--platform=linux*',
672                 '--no_auth',
673                 '--bucket', 'chromium-clang-format',
674                 '-s', 'src/buildtools/linux64/clang-format.sha1',
675     ],
676   },
677   # Pull binutils for linux, enabled debug fission for faster linking /
678   # debugging when used with clang on Ubuntu Precise.
679   # https://code.google.com/p/chromium/issues/detail?id=352046
680   {
681     'name': 'binutils',
682     'pattern': 'src/third_party/binutils',
683     'action': [
684         'python',
685         'src/third_party/binutils/download.py',
686     ],
687   },
688   # Pull eu-strip binaries using checked-in hashes.
689   {
690     'name': 'eu-strip',
691     'pattern': '.',
692     'action': [ 'download_from_google_storage',
693                 '--no_resume',
694                 '--platform=linux*',
695                 '--no_auth',
696                 '--bucket', 'chromium-eu-strip',
697                 '-s', 'src/build/linux/bin/eu-strip.sha1',
698     ],
699   },
700   {
701     'name': 'drmemory',
702     'pattern': '.',
703     'action': [ 'download_from_google_storage',
704                 '--no_resume',
705                 '--platform=win32',
706                 '--no_auth',
707                 '--bucket', 'chromium-drmemory',
708                 '-s', 'src/third_party/drmemory/drmemory-windows-sfx.exe.sha1',
709               ],
710   },
711   # Pull the Syzygy binaries, used for optimization and instrumentation.
712   {
713     'name': 'syzygy-binaries',
714     'pattern': '.',
715     'action': ['python',
716                'src/build/get_syzygy_binaries.py',
717                '--output-dir=src/third_party/syzygy/binaries',
718                '--revision=b92d590a9670f92b1223bcc9a334771ce95611cd',
719                '--overwrite',
720     ],
721   },
722   {
723     'name': 'apache_win32',
724     'pattern': '\\.sha1',
725     'action': [ 'download_from_google_storage',
726                 '--no_resume',
727                 '--platform=win32',
728                 '--directory',
729                 '--recursive',
730                 '--no_auth',
731                 '--num_threads=16',
732                 '--bucket', 'chromium-apache-win32',
733                 'src/third_party/apache-win32',
734     ],
735   },
736   # Pull the mojo_shell binary, used for mojo development
737   {
738     'name': 'download_mojo_shell',
739     'pattern': '',
740     'action': [ 'python',
741                 'src/third_party/mojo/src/mojo/public/tools/download_shell_binary.py',
742                 '--tools-directory=../../../../../../tools',
743               ],
744   },
745   {
746     # A change to a .gyp, .gypi, or to GYP itself should run the generator.
747     'name': 'gyp',
748     'pattern': '.',
749     'action': ['python', 'src/build/gyp_chromium'],
750   },
751   {
752     # Verify committers' ~/.netc, gclient and git are properly configured for
753     # write access to the git repo. To be removed sometime after Chrome to git
754     # migration completes (let's say Sep 1 2014).
755     'name': 'check_git_config',
756     'pattern': '.',
757     'action': [
758         'python',
759         'src/tools/check_git_config.py',
760         '--running-as-hook',
761     ],
762   },
763   {
764     # Ensure that we don't accidentally reference any .pyc files whose
765     # corresponding .py files have already been deleted.
766     'name': 'remove_stale_pyc_files',
767     'pattern': 'src/tools/.*\\.py',
768     'action': [
769         'python',
770         'src/tools/remove_stale_pyc_files.py',
771         'src/tools',
772     ],
773   },