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 419345 f91d86bb4b2adad09711ce55c82c8d695b8e6ed7
parent 419344 b84484d5c6d57205e38121ddd5ffffbce25f09c7
child 419346 ba72020236fa8d819f00a42074cab9d7c05a9b94
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)
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)