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 419929 2a1b1485ffc702fb546d4c73686b5fba3e2e56dc
parent 419928 0c2bc12f4ebe44428385745266d2fd158e0c3382
child 419930 a8373914cbfd9b8595fc24f36c876cab0a26c02a
push id7566
push usermtabara@mozilla.com
push dateWed, 02 Aug 2017 08:25:16 +0000
treeherdermozilla-beta@86913f512c3c [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':