Bug 1382140 - Call 'mach' with python from tools/lint/hooks.py so it works on Windows, r=mak
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Mon, 24 Jul 2017 12:25:53 -0400
changeset 370639 f91d86bb4b2adad09711ce55c82c8d695b8e6ed7
parent 370638 b84484d5c6d57205e38121ddd5ffffbce25f09c7
child 370640 ba72020236fa8d819f00a42074cab9d7c05a9b94
push id32231
push usercbook@mozilla.com
push dateTue, 25 Jul 2017 12:20:10 +0000
treeherdermozilla-central@80394cbcae0f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmak
bugs1382140
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 1382140 - Call 'mach' with python from tools/lint/hooks.py so it works on Windows, r=mak MozReview-Commit-ID: 7Iac4wqX9RG
tools/lint/hooks.py
--- a/tools/lint/hooks.py
+++ b/tools/lint/hooks.py
@@ -1,24 +1,26 @@
 #!/usr/bin/env python
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 import os
 import subprocess
 import sys
+from distutils.spawn import find_executable
 
 here = os.path.dirname(os.path.realpath(__file__))
 topsrcdir = os.path.join(here, os.pardir, os.pardir)
 
 
 def run_mozlint(hooktype, args):
     # --quiet prevents warnings on eslint, it will be ignored by other linters
-    cmd = [os.path.join(topsrcdir, 'mach'), 'lint', '--quiet']
+    python = find_executable('python2.7') or find_executable('python')
+    cmd = [python, os.path.join(topsrcdir, 'mach'), 'lint', '--quiet']
 
     if 'commit' in hooktype:
         # don't prevent commits, just display the lint results
         subprocess.call(cmd + ['--workdir=staged'])
         return False
     elif 'push' in hooktype:
         return subprocess.call(cmd + ['--outgoing'] + args)