aboutsummaryrefslogtreecommitdiffstats
path: root/python/mach_bootstrap.py
Commit message (Collapse)AuthorAgeFilesLines
* Upgrade pip properly on windows.Josh Matthews2018-05-151-5/+12
|
* Don't suppress errors when executing mach bootstrap processes.Josh Matthews2018-05-141-1/+1
| | | Omitting an argument to sys.exit causes it to default to 0, so buildbot doesn't report it as an error.
* Add wptserve into python import paths.Xidorn Quan2018-03-071-5/+16
|
* Enable pip output in mach_bootstrap.pySimon Wörner2017-11-241-2/+2
|
* Redirect stdout and stderr to file to avoid deadlockSimon Wörner2017-11-241-23/+26
|
* Use upstream wptrunner from web-platform-tests.Josh Matthews2017-10-051-1/+1
|
* Update mach bootstrap for changes to wpt harness path in geckoJames Graham2017-06-051-11/+18
| | | | | | Gecko is now using the wpt harness under the wpt tools directory rather than a copy in an adjacent directory. Therefore the path to the requirements files, and the required model paths, have changed.
* Remove more deprecated Windows GNU code/docsAneesh Agrawal2017-04-161-10/+1
|
* Find WPT files in Firefox repositoryGregory Szorc2017-02-031-7/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | The Servo repository is now (mostly) vendored in the Firefox Mercurial repository. For size and duplication reasons, the tests/wpt directory is not included in the vendored copy. This causes problems when running `mach` from the Firefox repository because `mach` references pip requirements files and module search paths from WPT. This commit adds code to detect when Servo's mach is running from a Firefox source tree and to resolve WPT paths to the Firefox location if appropriate. This enables `mach` to "just work" when running from the servo/ directory in the Firefox repository. The file looked for to identify the Firefox repository is identical to what Firefox's `mach` script uses. A potential issue with using Firefox's WPT files is that they may be different from those in the Servo repository and this could lead to differences in behavior - possibly even an error when loading/running `mach`. However, the behavior before this commit was that Servo's `mach` never worked in the Firefox repository (due to missing WPT files). And post-commit it does. So this seems like a "perfect is the enemy of good" scenario.
* Add a Salt bootstrapperAneesh Agrawal2017-01-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Salt bootstrapper invokes Salt during `./mach bootstrap` to install Servo's build dependencies. It uses salt-call pinned to the same version of Salt as used in saltfs. Currently, the implementation uses gitfs and reads directly from the master branch of the saltfs repo; in the future this should be changed when the relevant Salt states are moved in-tree as part of Dockerization for TaskCluster. We have not Salted our Windows machines, so the existing Windows bootstrappers are retained. Currently this is only tested on Ubuntu Trusty. Salt uses various system python libraries, including `python-apt` on Debian-based OSes to interact with apt. `python-apt` does not seem to be installable via a requirements.txt file, and the versions available on PyPI are far behind the versions installed on actual Ubuntu machines. Additionally, adding `python-apt` as an unconditional python dependency would add bloat for users of other OSes, and lead to more churn as additional OSes are supported. However, as `python-apt` is already installed via apt on these machines, we can allow Salt to instead use the module by using `--system-site-packages` for the python virtualenv. We also add the `-I` flag to `pip install` to ensure we have a local, untouched copy of any other python packages used. However, because this prints system-level Python packages in scope, it slightly breaks isolation, so it is important to always pin all dependencies in the requirements files.
* Commit that fixes the issue #11074 by upgrading pip whenever virtualenv is ↵Peter2016-12-031-0/+17
| | | | created.
* Fix test-wpt and test-css for Windows.Jack Moffitt2016-11-161-7/+15
| | | | | | In addition to minor changes for Windows, this forces Windows Python to be used for all Windows builds (instead of using Windows Python only for pc-windows-msvc builds).
* Warn and exit mach if it detects MinGW PythonUK9922016-10-101-0/+8
|
* Minor cleanup of mach and bootstrap scriptRavi Shankar2016-09-011-37/+31
|
* Ensure that we get python and pip from virtualenvRavi Shankar2016-09-011-7/+8
|
* Allow running WPT in FirefoxJ. Ryan Stinnett2016-07-211-0/+1
|
* Auto merge of #10618 - zwn:fix-windows-build, r=larsbergstrombors-servo2016-07-171-2/+5
|\ | | | | | | | | | | | | | | | | | | | | Ensure virtualenv activates Fixes #10595. For more info see #10595 or the commit message. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10618) <!-- Reviewable:end -->
| * Ensure virtualenv activates.Zbynek Winkler2016-04-211-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two changes: * remove quoting which causes virtuaenv not activate * check virtualenv actually activated If the quoting added in the fix in #8394 (4ff8d3ad9cea) kicks in, it causes virtualenv to fail to activate. For the common case it is no op: ```python >>> from pipes import quote >>> print quote('common/case') common/case ``` When the path actually needs quoting, this is what happens: ```python >>> print quote('test spaces') 'test spaces' >>> print quote('windows\\path') 'windows\\path' ``` Note the embedded quotes. Virtualenv in activate_this.py uses __file__ to build the path that should be added to PATH: ```python >>> print os.getcwd() C:\software\git >>> print os.path.abspath(quote('windows\\path')) C:\software\git\'windows\path' >>> ``` The constructed path is not valid. Adding it at the beginning of PATH has no effect. This issue affects any case when the call to `quote` kicks in.
* | Added detection for case-sensitive file systemsPer Lundberg2016-06-141-0/+15
| | | | | | | | This is needed for the moment because of a bug in virtualenv (reported upstream).
* | Create `mach package`edunham2016-06-031-0/+6
| | | | | | | | | | | | | | * Split package commands into their own file * Delete spurious files from build dir * Create runservo.sh to invoke servo with the right browserhtml incantation * Tar it all up with the date and time in the filename
* | Mach now shows stderr when a virtualenv or pip call fails (fixes #11055)Adrian Utrilla2016-05-071-8/+16
| |
* | Upgrade mach to 0.6; stop vendoring mach.Corey Farwell2016-05-021-1/+0
| | | | | | | | | | | | | | | | | | | | When I originally rewrote Servo's mach bootstrapping (using virtualenv w/ requirements.txt in #7103), I didn't specify mach as a requirement because a new version hadn't been published in a while. Now that 0.6 is out, I asked the mach maintainers to publish a new version on PyPI, so now we can fetch it like the other Python dependencies. Fixes https://github.com/servo/servo/issues/10728.
* | Package tidyaskeing2016-04-141-0/+1
|/ | | | | | - Modified the testing commands - Added the requirements - Moved python/tidy/tests to python/tidy/servo_tidy_tests for self tidy tests
* Handle exception with errormessage on topdir with Unicode characters.Petr Klíma2016-03-151-0/+9
| | | | https://github.com/servo/servo/issues/10002
* Exit mach with an error when building on a path with spaces. Fixes #9442Suvish Varghese Thoovamalayil2016-02-111-0/+7
|
* Fix build on windows when default python is MSYS64 pythonAdam Casey2016-01-231-2/+8
|
* adding check for windows then using Scripts instead of binJason Williams2016-01-221-1/+3
|
* Make virtualenv more tolerant of spaces in directory namesCorey Farwell2015-11-071-1/+2
| | | | Fixes #8390
* mach_bootstrap: Don't get confused by interruptsBenjamin Herr2015-11-051-4/+4
| | | | | | | | | | | When mach_bootstrap got interrupted while it's setting up virtualenv or calling out to pip, it wouldn't repeat that step on subsequent runs, and mach fails because its environment isn't set up properly or dependencies are missing. So now we re-run virtualenv if activate_this.py doesn't exist, and only create the marker file for required packages after pip has returned successfully.
* Expand list of Python executable names to search in PATHCorey Farwell2015-09-291-16/+25
| | | | Fixes #7784
* Added error handling and improved error messaging when running mach without ↵Anthony Broad-Crawford2015-09-211-2/+17
| | | | python's virtualenv or pip installed
* Create a marker file to avoid running pip when possibleAidan Hobson Sayers2015-09-141-5/+14
|
* Use OS-agnostic filesystem paths in PythonCorey Farwell2015-09-081-8/+8
| | | | This will eventually need to be done for #1908
* Remove references to no-longer-in-tree Python packagesCorey Farwell2015-09-021-4/+0
|
* Revert "Revert "Auto merge of #7103 - frewsxcv:python-venv, r=metajack" for ↵Corey Farwell2015-09-021-0/+37
| | | | | | breaking web-platform-tests." This reverts commit 47d6d958f58f5011742a18abcdd5a76bf4390966.
* Revert "Auto merge of #7103 - frewsxcv:python-venv, r=metajack" for breaking ↵Ms2ger2015-08-091-37/+0
| | | | | | | web-platform-tests. This reverts commit c315404db80c92a695531b0aa4bcf61c125a3bff, reversing changes made to b00583bd4e7169a6b952633df718268904f2bd0c.
* Use one Python virtual environment for all mach commandsCorey Farwell2015-08-081-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this commit: * Our Python dependency story was a bit of a mess. We had complete Python packages (wheels and directories) living in-tree, despite not having any changes from upstream. This is particularly bad because `setup.py` never gets run on these packages which could (sometimes silently) unintended breakage. * Python virtual environments (virtualenv) were only utilized for testing web-platform tests After this commit: * A single virtualenv (`python/_virtualenv`) is activated upon *every* call to mach * A requirements file (`python/requirements.txt`) is added to describe the dependencies needed by Python modules in `python/`. The child commit immediately following this will remove all the dependencies no longer needed in-tree (for the sake of keeping this commit readable). Relevant to https://github.com/servo/servo/issues/861 Fixes https://github.com/servo/servo/issues/6999
* Add flake8 to the tidy process for Python filesCorey Farwell2015-06-041-1/+1
| | | | | | | Fixes #6236 Also included in this commit are the changes need to make flake8 pass for the existing python file
* Fix tidy issues with Python files in python/Corey Farwell2015-06-021-1/+2
|
* Clarify Python version checking conditionalCorey Farwell2015-05-311-1/+1
|
* Make the test-wpt mach command support all the command line arguments of ↵James Graham2015-04-031-0/+3
| | | | | | wptrunner. Also remove the shell script and ensure that default options are set in a single location
* mozilla-central modules for debugger detectionMatthew Rasmus2014-11-231-0/+2
| | | | | | | | | Borrows two python modules from mozilla-central to give mach the ability to detect and pass arguments to a system's preferred debugger. Links to borrowed files: http://hg.mozilla.org/mozilla-central/file/c9cfa9b91dea/testing/mozbase/mozinfo/mozinfo/mozinfo.py http://hg.mozilla.org/mozilla-central/file/c9cfa9b91dea/testing/mozbase/mozdebug/mozdebug/mozdebug.py
* Cargoify servoJack Moffitt2014-09-081-0/+100