summaryrefslogtreecommitdiff
path: root/mesonbuild/msubprojects.py
Commit message (Collapse)AuthorAgeFilesLines
* Cherry-picking - (rm python2 % add python3 .format) (#6725)Michael Brockus2020-03-031-5/+5
|
* msubprojects: We return a string from git() nowNirbheek Chauhan2020-02-201-4/+4
| | | | Fixes https://github.com/mesonbuild/meson/issues/6651
* Move git helper out into mesonlib for reuseNirbheek Chauhan2020-01-221-7/+3
| | | | | | Reuse the git helper for `meson wrap` and `meson subprojects` so we don't need to maintain the same git-colors-on-windows workarounds in multiple places.
* msubprojects: Rename 'git' to 'git_output'Nirbheek Chauhan2020-01-221-10/+10
| | | | | No functional changes. Split out from the next commit for ease of reading.
* Fix 'meson subprojects foreach' when command returns non-zero exit codeAntonio Ospite2019-12-051-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'output' field of the subprocess.CalledProcessError exception is valid only when subprocess.check_output() is called, trying to access it after calling subprocess.check_call() results in an unwanted exception when commands return non-zero exit code, e.g.: ----------------------------------------------------------------------- $ meson subprojects foreach false Executing command in ./subprojects/sqlite-amalgamation-3250100 -> Not downloaded yet Executing command in ./subprojects/gstreamer Traceback (most recent call last): File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 177, in foreach subprocess.check_call([options.command] + options.args, cwd=repo_dir) File "/usr/lib/python3.7/subprocess.py", line 363, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['false']' returned non-zero exit status 1. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/ao2/meson/meson/mesonbuild/mesonmain.py", line 129, in run return options.run_func(options) File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 248, in run options.subprojects_func(wrap, repo_dir, options) File "/home/ao2/meson/meson/mesonbuild/msubprojects.py", line 180, in foreach out = e.output.decode().strip() AttributeError: 'NoneType' object has no attribute 'decode' ----------------------------------------------------------------------- Use subprocess.check_output() instead and behave more like git commands in handling stderr. This makes it possible to actually run commands on all subprojects allowing them to fail on some subprojects and succeed on others. Also catch the case of missing commands and print an error message in this case as well.
* wrap: Redirect stdin to DEVNULL (again)Nirbheek Chauhan2019-11-281-0/+4
| | | | | Same fix as e7b25018c4715e538234d4ba51e32194b4757388, was accidentally missed when this code was rewritten.
* cmake: moved subprojects into the CMake moduleDaniel Mensinger2019-06-061-1/+1
|
* subproject: fix update_svnMarkus Theil2019-06-031-1/+1
| | | | Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
* Add 'meson subprojects foreach' commandAntonio Ospite2019-04-011-7/+30
| | | | | | | | | | | Sometimes it is convenient to run an arbitrary command (e.g. 'git diff') on all subprojects. Add a 'meson subprojects foreach' command to take care of that. For this command the common argument 'subprojects' does not make sense, so only add '--sourcedir' and cover the case of a missing options.subprojects in run().
* Fix git wraps with submodulesAndrei Alexeyev2019-03-111-1/+1
| | | | | | | * If clone-recursive is specified, populate submodules only after the specified revision/branch has been checked out. Fixes #4996 * Update submodules recursively on `meson subprojects update`
* Add 'meson subprojects download' commandXavier Claessens2018-12-021-1/+19
|
* Add 'meson subprojects checkout' commandXavier Claessens2018-12-021-32/+61
|
* Add 'meson subprojects update' commandXavier Claessens2018-12-021-0/+179
This is inspired by gst-build's git-update script.