Implement inertial sensor service and shared memory data fetcher for device motion...
[chromium-blink-merge.git] / DEPS
blob8761626def5d5e0825b12b8269c259d5bbb43bf7
1 # When adding a new dependency, please update the top-level .gitignore file
2 # to list the dependency's destination directory.
4 vars = {
5   # Use this googlecode_url variable only if there is an internal mirror for it.
6   # If you do not know, use the full path while defining your new deps entry.
7   "googlecode_url": "http://%s.googlecode.com/svn",
8   "sourceforge_url": "http://svn.code.sf.net/p/%(repo)s/code",
9   "webkit_trunk": "http://src.chromium.org/blink/trunk",
10   "nacl_trunk": "http://src.chromium.org/native_client/trunk",
11   "webkit_revision": "156533",
12   "chromium_git": "https://chromium.googlesource.com",
13   "chromiumos_git": "https://chromium.googlesource.com/chromiumos",
14   "skia_git": "https://skia.googlesource.com",
15   "swig_revision": "69281",
16   "nacl_revision": "12040",
17   # After changing nacl_revision, run 'glient sync' and check native_client/DEPS
18   # to update other nacl_*_revision's.
19   "nacl_tools_revision": "11437",  # native_client/DEPS: tools_rev
20   "gtm_revision": "616",
22   "libphonenumber_revision": "584",
23   "libvpx_revision": "212364",
24   "lss_revision": "20",
26   # These two FFmpeg variables must be updated together.  One is used for SVN
27   # checkouts and the other for Git checkouts.
28   "ffmpeg_revision": "214392",
29   "ffmpeg_hash": "894e6f715645528e815aee2dad45b59704238dcd",
31   "sfntly_revision": "134",
32   "skia_revision": "10870",
33   "skia_hash": "b482d003d99145f74c7192154ced956313ce1779",
34   # Three lines of non-changing comments so that
35   # the commit queue can handle CLs rolling Skia
36   # and V8 without interference from each other.
37   "v8_revision": "16257",
38   # Three lines of non-changing comments so that
39   # the commit queue can handle CLs rolling WebRTC
40   # and V8 without interference from each other.
41   "webrtc_revision": "4533",
42   "jsoncpp_revision": "248",
43   "nss_revision": "209026",
44   # Three lines of non-changing comments so that
45   # the commit queue can handle CLs rolling swarm_client
46   # and whatever else without interference from each other.
47   "swarm_revision": "217028",
48   # Three lines of non-changing comments so that
49   # the commit queue can handle CLs rolling openssl
50   # and whatever else without interference from each other.
51   "openssl_revision": "207965",
54 deps = {
55   "src/breakpad/src":
56     (Var("googlecode_url") % "google-breakpad") + "/trunk/src@1199",
58   "src/sdch/open-vcdiff":
59     (Var("googlecode_url") % "open-vcdiff") + "/trunk@42",
61   "src/testing/gtest":
62     (Var("googlecode_url") % "googletest") + "/trunk@629",
64   "src/testing/gmock":
65     (Var("googlecode_url") % "googlemock") + "/trunk@410",
67   "src/third_party/angle_dx11":
68     Var("chromium_git") +
69     "/external/angle.git@827fb6ad615eca2755ae80789a02e1a5587832b6",
71   "src/third_party/trace-viewer":
72     (Var("googlecode_url") % "trace-viewer") + "/trunk@893",
74   "src/third_party/WebKit":
75     Var("webkit_trunk") + "@" + Var("webkit_revision"),
77   "src/third_party/icu":
78     "/trunk/deps/third_party/icu46@214189",
80   "src/third_party/libexif/sources":
81     "/trunk/deps/third_party/libexif/sources@146817",
83   "src/third_party/hunspell":
84    "/trunk/deps/third_party/hunspell@206172",
86   "src/third_party/hunspell_dictionaries":
87     "/trunk/deps/third_party/hunspell_dictionaries@193701",
89   "src/third_party/safe_browsing/testing":
90     (Var("googlecode_url") % "google-safe-browsing") + "/trunk/testing@112",
92   "src/third_party/cacheinvalidation/src":
93     (Var("googlecode_url") % "google-cache-invalidation-api") +
94     "/trunk/src@312",
96   "src/third_party/leveldatabase/src":
97     (Var("googlecode_url") % "leveldb") + "/trunk@76",
99   "src/third_party/snappy/src":
100     (Var("googlecode_url") % "snappy") + "/trunk@74",
102   "src/tools/grit":
103     (Var("googlecode_url") % "grit-i18n") + "/trunk@129",
105   "src/tools/gyp":
106     (Var("googlecode_url") % "gyp") + "/trunk@1700",
108   "src/tools/swarm_client":
109     "/trunk/tools/swarm_client@" + Var("swarm_revision"),
111   "src/v8":
112     (Var("googlecode_url") % "v8") + "/trunk@" + Var("v8_revision"),
114   "src/native_client":
115     Var("nacl_trunk") + "/src/native_client@" + Var("nacl_revision"),
117   "src/chrome/test/data/extensions/api_test/permissions/nacl_enabled/bin":
118     Var("nacl_trunk") + "/src/native_client/tests/prebuilt@" +
119     Var("nacl_revision"),
121   "src/third_party/sfntly/cpp/src":
122     (Var("googlecode_url") % "sfntly") + "/trunk/cpp/src@" +
123     Var("sfntly_revision"),
125   "src/third_party/skia/src":
126     (Var("googlecode_url") % "skia") + "/trunk/src@" + Var("skia_revision"),
128   "src/third_party/skia/gyp":
129     (Var("googlecode_url") % "skia") + "/trunk/gyp@" + Var("skia_revision"),
131   "src/third_party/skia/include":
132     (Var("googlecode_url") % "skia") + "/trunk/include@" + Var("skia_revision"),
134   "src/third_party/ots":
135     (Var("googlecode_url") % "ots") + "/trunk@102",
137   "src/tools/page_cycler/acid3":
138     "/trunk/deps/page_cycler/acid3@171600",
140   "src/chrome/test/data/perf/canvas_bench":
141     "/trunk/deps/canvas_bench@122605",
143   "src/chrome/test/data/perf/frame_rate/content":
144     "/trunk/deps/frame_rate/content@93671",
146   "src/chrome/test/data/perf/third_party/octane":
147     (Var("googlecode_url") % "octane-benchmark") + "/trunk@19",
149   "src/third_party/bidichecker":
150     (Var("googlecode_url") % "bidichecker") + "/trunk/lib@4",
152   # When roll to another webgl conformance tests revision, please goto
153   # chrome/test/gpu and run generate_webgl_conformance_test_list.py.
154   "src/third_party/webgl_conformance":
155     "/trunk/deps/third_party/webgl/sdk/tests@218717",
157   "src/third_party/swig/Lib":
158     "/trunk/deps/third_party/swig/Lib@" + Var("swig_revision"),
160   # Make sure you update the two functional.DEPS and webdriver.DEPS too.
161   "src/third_party/webdriver/pylib":
162     (Var("googlecode_url") % "selenium") + "/trunk/py@18337",
164   "src/third_party/libvpx":
165     "/trunk/deps/third_party/libvpx@" +
166     Var("libvpx_revision"),
168   "src/third_party/ffmpeg":
169     "/trunk/deps/third_party/ffmpeg@" +
170     Var("ffmpeg_revision"),
172   "src/third_party/libjingle/source/talk":
173     (Var("googlecode_url") % "webrtc") + "/stable/talk@" +
174     Var("webrtc_revision"),
176   "src/third_party/usrsctp/usrsctplib":
177     (Var("googlecode_url") % "sctp-refimpl") +
178     "/trunk/KERN/usrsctp/usrsctplib@8554",
180   "src/third_party/libsrtp":
181     "/trunk/deps/third_party/libsrtp@214783",
183   "src/third_party/speex":
184     "/trunk/deps/third_party/speex@198168",
186   "src/third_party/yasm/source/patched-yasm":
187     "/trunk/deps/third_party/yasm/patched-yasm@167605",
189   "src/third_party/libjpeg_turbo":
190     "/trunk/deps/third_party/libjpeg_turbo@177737",
192   "src/third_party/flac":
193     "/trunk/deps/third_party/flac@198139",
195   "src/third_party/pyftpdlib/src":
196     (Var("googlecode_url") % "pyftpdlib") + "/trunk@977",
198   "src/third_party/scons-2.0.1":
199     Var("nacl_trunk") + "/src/third_party/scons-2.0.1@" +
200         Var("nacl_tools_revision"),
202   "src/third_party/webrtc":
203     (Var("googlecode_url") % "webrtc") + "/stable/webrtc@" + Var("webrtc_revision"),
205   "src/third_party/openmax_dl":
206     (Var("googlecode_url") % "webrtc") + "/deps/third_party/openmax@4261",
208   "src/third_party/jsoncpp/source/include":
209     (Var("sourceforge_url") % {"repo": "jsoncpp"}) +
210         "/trunk/jsoncpp/include@" + Var("jsoncpp_revision"),
212   "src/third_party/jsoncpp/source/src/lib_json":
213     (Var("sourceforge_url") % {"repo": "jsoncpp"}) +
214         "/trunk/jsoncpp/src/lib_json@" + Var("jsoncpp_revision"),
216   "src/third_party/libyuv":
217     (Var("googlecode_url") % "libyuv") + "/trunk@723",
219   "src/third_party/smhasher/src":
220     (Var("googlecode_url") % "smhasher") + "/trunk@149",
222   "src/third_party/libphonenumber/src/phonenumbers":
223      (Var("googlecode_url") % "libphonenumber") +
224          "/trunk/cpp/src/phonenumbers@" + Var("libphonenumber_revision"),
225   "src/third_party/libphonenumber/src/test":
226      (Var("googlecode_url") % "libphonenumber") + "/trunk/cpp/test@" +
227          Var("libphonenumber_revision"),
228   "src/third_party/libphonenumber/src/resources":
229      (Var("googlecode_url") % "libphonenumber") + "/trunk/resources@" +
230          Var("libphonenumber_revision"),
232   "src/tools/deps2git":
233     "/trunk/tools/deps2git@214390",
235   "src/third_party/webpagereplay":
236     (Var("googlecode_url") % "web-page-replay") + "/trunk@519",
238   "src/third_party/pywebsocket/src":
239     (Var("googlecode_url") % "pywebsocket") + "/trunk/src@662",
241   "src/third_party/opus/src":
242     "/trunk/deps/third_party/opus@185324",
244   "src/third_party/accessibility-developer-tools":
245     Var("chromium_git") + "/external/accessibility-developer-tools.git@2e3c9c8e49277a0ca1eeba510271eb03f9486d8f",
247   "src/media/cdm/ppapi/api":
248     "/trunk/deps/cdm@181763",
250   "src/third_party/mesa/src":
251     "/trunk/deps/third_party/mesa@210110",
253   "src/third_party/cld2":
254     (Var("googlecode_url") % "cld2") + "/trunk@19",
258 deps_os = {
259   "win": {
260     "src/chrome/tools/test/reference_build/chrome_win":
261       "/trunk/deps/reference_builds/chrome_win@197743",
263     "src/third_party/cygwin":
264       "/trunk/deps/third_party/cygwin@133786",
266     "src/third_party/python_26":
267       "/trunk/tools/third_party/python_26@89111",
269     "src/third_party/psyco_win32":
270       "/trunk/deps/third_party/psyco_win32@79861",
272     "src/third_party/bison":
273       "/trunk/deps/third_party/bison@147303",
275     "src/third_party/gperf":
276       "/trunk/deps/third_party/gperf@147304",
278     "src/third_party/perl":
279       "/trunk/deps/third_party/perl@147900",
281     "src/third_party/lighttpd":
282       "/trunk/deps/third_party/lighttpd@33727",
284     # Chrome Frame related deps
285     "src/third_party/xulrunner-sdk":
286       "/trunk/deps/third_party/xulrunner-sdk@119756",
287     "src/chrome_frame/tools/test/reference_build/chrome_win":
288       "/trunk/deps/reference_builds/chrome_win@89574",
290     # Parses Windows PE/COFF executable format.
291     "src/third_party/pefile":
292       (Var("googlecode_url") % "pefile") + "/trunk@63",
294     # NSS, for SSLClientSocketNSS.
295     "src/third_party/nss":
296       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
298     "src/third_party/swig/win":
299       "/trunk/deps/third_party/swig/win@" + Var("swig_revision"),
301     # GNU binutils assembler for x86-32.
302     "src/third_party/gnu_binutils":
303       (Var("nacl_trunk") + "/deps/third_party/gnu_binutils@" +
304        Var("nacl_tools_revision")),
305     # GNU binutils assembler for x86-64.
306     "src/third_party/mingw-w64/mingw/bin":
307       (Var("nacl_trunk") + "/deps/third_party/mingw-w64/mingw/bin@" +
308        Var("nacl_tools_revision")),
310     # Dependencies used by libjpeg-turbo
311     "src/third_party/yasm/binaries":
312       "/trunk/deps/third_party/yasm/binaries@154708",
314     # Binary level profile guided optimizations. This points to the
315     # latest release binaries for the toolchain.
316     "src/third_party/syzygy/binaries":
317       (Var("googlecode_url") % "sawbuck") + "/trunk/syzygy/binaries@1740",
319     # Binaries for nacl sdk.
320     "src/third_party/nacl_sdk_binaries":
321       "/trunk/deps/third_party/nacl_sdk_binaries@111576",
322   },
323   "ios": {
324     "src/third_party/GTM":
325       (Var("googlecode_url") % "google-toolbox-for-mac") + "/trunk@" +
326       Var("gtm_revision"),
328     "src/third_party/nss":
329       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
331     # class-dump utility to generate header files for undocumented SDKs
332     "src/testing/iossim/third_party/class-dump":
333       "/trunk/deps/third_party/class-dump@199203",
335     # Code that's not needed due to not building everything
336     "src/build/util/support": None,
337     "src/chrome/test/data/extensions/api_test/permissions/nacl_enabled/bin": None,
338     "src/chrome/test/data/perf/canvas_bench": None,
339     "src/chrome/test/data/perf/frame_rate/content": None,
340     "src/native_client": None,
341     "src/native_client/src/third_party/ppapi": None,
342     "src/third_party/angle_dx11": None,
343     "src/third_party/cld2": None,
344     "src/third_party/bidichecker": None,
345     "src/third_party/webgl_conformance": None,
346     "src/third_party/ffmpeg": None,
347     "src/third_party/hunspell_dictionaries": None,
348     "src/third_party/hunspell": None,
349     "src/third_party/leveldatabase/src": None,
350     "src/third_party/libexif/sources": None,
351     "src/third_party/libjpeg_turbo": None,
352     "src/third_party/libphonenumber/src/phonenumbers": None,
353     "src/third_party/libphonenumber/src/test": None,
354     "src/third_party/libphonenumber/src/resources": None,
355     "src/third_party/libsrtp": None,
356     "src/third_party/usrsctp/usrsctplib": None,
357     "src/third_party/libvpx": None,
358     "src/third_party/libyuv": None,
359     "src/third_party/ots": None,
360     "src/third_party/pylib": None,
361     "src/third_party/pymox/src": None,
362     "src/third_party/safe_browsing/testing": None,
363     "src/third_party/scons-2.0.1": None,
364     "src/third_party/sfntly/cpp/src": None,
365     "src/third_party/smhasher/src": None,
366     "src/third_party/snappy/src": None,
367     "src/third_party/swig/Lib": None,
368     "src/third_party/undoview": None,
369     "src/third_party/v8-i18n": None,
370     "src/third_party/webdriver/pylib": None,
371     "src/third_party/webpagereplay": None,
372     "src/third_party/webrtc": None,
373     "src/third_party/yasm/source/patched-yasm": None,
374     "src/tools/page_cycler/acid3": None,
375     "src/v8": None,
376   },
377   "mac": {
378     "src/chrome/tools/test/reference_build/chrome_mac":
379       "/trunk/deps/reference_builds/chrome_mac@197743",
381     "src/third_party/GTM":
382       (Var("googlecode_url") % "google-toolbox-for-mac") + "/trunk@" +
383       Var("gtm_revision"),
384     "src/third_party/pdfsqueeze":
385       (Var("googlecode_url") % "pdfsqueeze") + "/trunk@5",
386     "src/third_party/lighttpd":
387       "/trunk/deps/third_party/lighttpd@33737",
389     "src/third_party/swig/mac":
390       "/trunk/deps/third_party/swig/mac@" + Var("swig_revision"),
392     # NSS, for SSLClientSocketNSS.
393     "src/third_party/nss":
394       "/trunk/deps/third_party/nss@" + Var("nss_revision"),
396     "src/chrome/installer/mac/third_party/xz/xz":
397       "/trunk/deps/third_party/xz@189101",
398   },
399   "unix": {
400     # Linux, really.
401     "src/chrome/tools/test/reference_build/chrome_linux":
402       "/trunk/deps/reference_builds/chrome_linux@197743",
404     "src/third_party/xdg-utils":
405       "/trunk/deps/third_party/xdg-utils@203785",
407     "src/third_party/swig/linux":
408       "/trunk/deps/third_party/swig/linux@" + Var("swig_revision"),
410     "src/third_party/lss":
411       ((Var("googlecode_url") % "linux-syscall-support") + "/trunk/lss@" +
412        Var("lss_revision")),
414     "src/third_party/openssl":
415       "/trunk/deps/third_party/openssl@" + Var("openssl_revision"),
417     "src/third_party/gold":
418       "/trunk/deps/third_party/gold@203758",
420     "src/third_party/libmtp":
421       "/trunk/deps/third_party/libmtp@206535",
423     # Used on Linux only. CrOS already has a copy.
424     "src/third_party/mtpd/source":
425       Var("chromiumos_git") + "/platform/mtpd.git" +
426       "@5be739c938a0a229ba9479b00b180e1f9c843e81",
428     # Used on Linux only. CrOS already has a copy.
429     "src/third_party/cros_dbus_cplusplus/source":
430       Var("chromiumos_git") + "/third_party/dbus-cplusplus.git" +
431       "@5e8f6d9db5c2abfb91d91f751184f25bb5cd0900",
433     # For Linux and Chromium OS.
434     "src/third_party/cros_system_api":
435       Var("chromiumos_git") + "/platform/system_api.git" +
436       "@94831a5a958ea6029aaf0c900b5187726557aacf",
438     # Note that this is different from Android's freetype repo.
439     "src/third_party/freetype2/src":
440       Var("chromium_git") + "/chromium/src/third_party/freetype2.git" +
441       "@d699c2994ecc178c4ed05ac2086061b2034c2178",
443     # Build tools for targeting ChromeOS.
444     "src/third_party/chromite":
445       Var("chromiumos_git") + "/chromite.git" +
446       "@214fb6506eda13715edd74087adf367a29809a3c",
448     # Dependency of chromite.git.
449     "src/third_party/pyelftools":
450       Var("chromiumos_git") + "/third_party/pyelftools.git" +
451       "@bdc1d380acd88d4bfaf47265008091483b0d614e",
453     "src/third_party/undoview":
454       "/trunk/deps/third_party/undoview@119694",
455   },
456   "android": {
457     "src/third_party/android_tools":
458       Var("chromium_git") + "/android_tools.git" +
459       "@d8a5bfea861dfbacd9a74275c00561f7bb27d6e3",
461     "src/third_party/aosp":
462       "/trunk/deps/third_party/aosp@148330",
464     "src/third_party/apache-mime4j":
465       "/trunk/deps/third_party/apache-mime4j@170888",
467     "src/third_party/findbugs":
468       "/trunk/deps/third_party/findbugs@163586",
470     "src/third_party/freetype":
471       Var("chromium_git") + "/chromium/src/third_party/freetype.git" +
472       "@96551feab72aac26836e9aaf4fae0962d39d5ab0",
474     "src/third_party/guava/src":
475       Var("chromium_git") + "/external/guava-libraries.git" +
476       "@c523556ab7d0f05afadebd20e7768d4c16af8771",
478     "src/third_party/httpcomponents-client":
479       "/trunk/deps/third_party/httpcomponents-client@170888",
481     "src/third_party/httpcomponents-core":
482       "/trunk/deps/third_party/httpcomponents-core@170888",
484     "src/third_party/jarjar":
485       "/trunk/deps/third_party/jarjar@170888",
487     "src/third_party/jsr-305/src":
488       (Var("googlecode_url") % "jsr-305") + "/trunk@51",
490     "src/third_party/lss":
491       ((Var("googlecode_url") % "linux-syscall-support") + "/trunk/lss@" +
492        Var("lss_revision")),
494     "src/third_party/openssl":
495       "/trunk/deps/third_party/openssl@" + Var("openssl_revision"),
497     "src/third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/braille":
498       (Var("googlecode_url") % "eyes-free") + "/trunk/braille/client/src/com/googlecode/eyesfree/braille@797",
500     "src/third_party/cld2": None,
501   },
505 include_rules = [
506   # Everybody can use some things.
507   "+base",
508   "+build",
509   "+ipc",
511   # Everybody can use headers generated by tools/generate_library_loader.
512   "+library_loaders",
514   "+testing",
515   "+third_party/icu/source/common/unicode",
516   "+third_party/icu/source/i18n/unicode",
517   "+url",
521 # checkdeps.py shouldn't check include paths for files in these dirs:
522 skip_child_includes = [
523   "breakpad",
524   "chrome_frame",
525   "delegate_execute",
526   "metro_driver",
527   "native_client_sdk",
528   "o3d",
529   "pdf",
530   "sdch",
531   "skia",
532   "testing",
533   "third_party",
534   "v8",
535   "win8",
539 hooks = [
540   {
541     # This downloads binaries for Native Client's newlib toolchain.
542     # Done in lieu of building the toolchain from scratch as it can take
543     # anywhere from 30 minutes to 4 hours depending on platform to build.
544     "name": "nacltools",
545     "pattern": ".",
546     "action": [
547         "python", "src/build/download_nacl_toolchains.py",
548          "--no-arm-trusted",
549          "--keep",
550     ],
551   },
552   {
553     # Downloads an ARM sysroot image to src/arm-sysroot. This image updates
554     # at about the same rate that the chrome build deps change.
555     # This script is a no-op except for linux users who have
556     # target_arch=arm in their GYP_DEFINES.
557     "name": "sysroot",
558     "pattern": ".",
559     "action": ["python", "src/build/linux/install-arm-sysroot.py",
560                "--linux-only"],
561   },
562   {
563     # Downloads the Debian Wheezy sysroot to chrome/installer/linux if needed.
564     # This sysroot updates at about the same rate that the chrome build deps
565     # change. This script is a no-op except for linux users who are doing
566     # official chrome builds.
567     "name": "sysroot",
568     "pattern": ".",
569     "action": [
570         "python",
571         "src/chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py",
572         "--linux-only",
573         "--arch=amd64"],
574   },
575   {
576     # Same as above, but for 32-bit Linux.
577     "name": "sysroot",
578     "pattern": ".",
579     "action": [
580         "python",
581         "src/chrome/installer/linux/sysroot_scripts/install-debian.wheezy.sysroot.py",
582         "--linux-only",
583         "--arch=i386"],
584   },
585   {
586     # Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
587     # zero seconds to run. If something changed, it downloads a prebuilt clang,
588     # which takes ~20s, but clang speeds up builds by more than 20s.
589     "name": "clang",
590     "pattern": ".",
591     "action": ["python", "src/tools/clang/scripts/update.py", "--mac-only"],
592   },
593   {
594     # Update the cygwin mount on Windows.
595     "name": "cygwin",
596     "pattern": ".",
597     "action": ["python", "src/build/win/setup_cygwin_mount.py", "--win-only"],
598   },
599   {
600     # Update LASTCHANGE. This is also run by export_tarball.py in
601     # src/tools/export_tarball - please keep them in sync.
602     "name": "lastchange",
603     "pattern": ".",
604     "action": ["python", "src/build/util/lastchange.py",
605                "-o", "src/build/util/LASTCHANGE"],
606   },
607   {
608     # Update LASTCHANGE.blink. This is also run by export_tarball.py in
609     # src/tools/export_tarball - please keep them in sync.
610     "name": "lastchange",
611     "pattern": ".",
612     "action": ["python", "src/build/util/lastchange.py",
613                "-s", "src/third_party/WebKit",
614                "-o", "src/build/util/LASTCHANGE.blink"],
615   },
616   {
617     # A change to a .gyp, .gypi, or to GYP itself should run the generator.
618     "name": "gyp",
619     "pattern": ".",
620     "action": ["python", "src/build/gyp_chromium"],
621   },
622   {
623     # Check for landmines (reasons to clobber the build).
624     "name": "landmines",
625     "pattern": ".",
626     "action": ["python", "src/build/landmines.py"],
627   },