Bug 1384396 - Detect Watchman in configure; r=nalexander
☠☠ backed out by 68231b38b01d ☠ ☠
authorGregory Szorc <gps@mozilla.com>
Tue, 25 Jul 2017 22:04:53 -0700
changeset 371320 2a1b1485ffc702fb546d4c73686b5fba3e2e56dc
parent 371319 0c2bc12f4ebe44428385745266d2fd158e0c3382
child 371321 a8373914cbfd9b8595fc24f36c876cab0a26c02a
push id93049
push usercbook@mozilla.com
push dateThu, 27 Jul 2017 09:30:07 +0000
treeherdermozilla-inbound@5e9f7561c2eb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnalexander
bugs1384396
milestone56.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1384396 - Detect Watchman in configure; r=nalexander It is an optional build dependency. While we detect the version, we don't do any minimum version checking because nothing uses it... yet. MozReview-Commit-ID: 1tPo9AnD4fV
moz.configure
--- a/moz.configure
+++ b/moz.configure
@@ -360,16 +360,29 @@ check_prog('GMAKE', possible_makes)
 def tup_progs(build_backends):
     for backend in build_backends:
         if 'Tup' in backend:
             return ['tup']
     return None
 
 tup = check_prog('TUP', tup_progs)
 
+# watchman detection
+# ==============================================================
+
+watchman = check_prog('WATCHMAN', ('watchman',), allow_missing=True)
+
+@depends_if(watchman)
+@checking('for watchman version')
+@imports('json')
+def watchman_version(watchman):
+    out = check_cmd_output(watchman, 'version')
+    res = json.loads(out)
+    return Version(res['version'])
+
 # Miscellaneous programs
 # ==============================================================
 check_prog('DOXYGEN', ('doxygen',), allow_missing=True)
 check_prog('XARGS', ('xargs',))
 
 @depends(target)
 def extra_programs(target):
     if target.kernel == 'Darwin':