2 # This Source Code Form is subject to the terms of the Mozilla Public
3 # License, v. 2.0. If a copy of the MPL was not distributed with this
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 from __future__
import print_function
, unicode_literals
12 # Ensure we are running Python 2.7+. We put this check here so we generate a
13 # user-friendly error message rather than a cryptic stack trace on module
15 if sys
.version_info
[0] == 2 and sys
.version_info
[1] < 7:
16 print('Python 2.7 or above is required to run mach.')
17 print('You are running', platform
.python_version())
20 # TODO Bug 794506 Integrate with the in-tree virtualenv configuration.
32 'testing/mozbase/mozprocess',
33 'testing/mozbase/mozinfo',
36 our_dir
= os
.path
.dirname(os
.path
.abspath(__file__
))
41 sys
.path
[0:0] = [os
.path
.join(our_dir
, path
) for path
in SEARCH_PATHS
]
45 # All of the code is in a module because EVERYTHING IS A LIBRARY.
46 mach
= mach
.main
.Mach(our_dir
)
47 sys
.exit(mach
.run(sys
.argv
[1:]))