Bug 1382140 - Call 'mach' with python from tools/lint/hooks.py so it works on Windows, r?mak draft
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Mon, 24 Jul 2017 12:25:53 -0400
changeset 614493 6ab9e41515b6a17f205a3066f5a30c8927054045
parent 614262 60a5308fa987676fa5ed9fd5b3ad6c9938af0539
child 638875 06104f5dad993d03367276db360f9ef872fef296
push id70023
push userahalberstadt@mozilla.com
push dateMon, 24 Jul 2017 16:33:11 +0000
reviewersmak
bugs1382140
milestone56.0a1
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)