gecko-dev/servo/mach
Per Lundberg acfcb43b5e servo: Merge #11391 - mach: Redirect stderr to /dev/null when locating Python binary (from perlun:fix/be-more-quiet-when-finding-python-binary); r=mbrubeck
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes do not require tests because it only changes the mach build script

----

We already redirect stdout in `mach`, but the problem is that (at least on Windows/MSYS2), the `which` command tends to output things to stderr when failing:

```
$ ./mach  build -d
which: no python2.7 in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/c/Program Files/Java/jdk1.8.0_66/bin:/c/Python27:/c/Python27/Scripts)
```

This PR silences this noise.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7dea7ace1b97ce8a51ab0b0516b8705474213542
2016-05-26 04:16:42 -05:00

26 lines
816 B
Bash
Executable File

#!/bin/sh
# 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/.
# The beginning of this script is both valid shell and valid python,
# such that the script starts with the shell and is reexecuted with
# the right python.
'''which' python2.7 > /dev/null 2> /dev/null && exec python2.7 "$0" "$@" || exec python "$0" "$@"
'''
from __future__ import print_function, unicode_literals
import os
import sys
def main(args):
topdir = os.path.dirname(sys.argv[0])
sys.path.insert(0, os.path.join(topdir, "python"))
import mach_bootstrap
mach = mach_bootstrap.bootstrap(topdir)
sys.exit(mach.run(sys.argv[1:]))
if __name__ == '__main__':
main(sys.argv)