aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-09-10Move verbose_git() and quiet_git() to mesonlibXavier Claessens2-18/+17
2020-09-10mesonlib: Move MesonException declaration to the topXavier Claessens1-13/+11
2020-09-10doc: Update new `meson subprojects` behaviorsXavier Claessens2-12/+63
2020-09-10msubprojects: Rework update commandXavier Claessens1-52/+96
Besides refactoring code into smaller functions: - Makes the --rebase behaviour the default for consistency: it was already rebasing when current branch and revision are the same, it is less confusing to rebase when they are different too. - Add --reset mode that checkout the new branch and hard reset that branch to remote commit. This new mode guarantees that every subproject are exactly at the wrap's revision. - Local changes are always stashed first to avoid any data loss. In the worst case scenario the user can always check reflog and stash list to rollback. Fixes: #7526
2020-09-10msubprojects: Return failure if some commands failedXavier Claessens1-23/+39
If the command fails on some subprojects continue with the rest but return non-0 code. This is useful for CI scripts to ensure it tests latest code instead of old cached code in case of network error or something.
2020-09-10msubprojects: Stash changes before checkoutXavier Claessens1-0/+3
2020-09-10msubprojects: Support git subprojects with no wrap fileXavier Claessens2-0/+19
User could have cloned manually a subproject.
2020-09-10msubprojects: Use less cryptic "git branch --show-current" commandXavier Claessens1-3/+3
It describes well what it does, compared to obscure "rev-parse".
2020-09-10msubprojects: Add --type argumentXavier Claessens1-0/+5
It is often desired to only update git repositories and not pull files from wrapdb.
2020-09-10msubprojects: Use wrap.Resolver() to load all PackageDefinitionXavier Claessens1-21/+16
Besides being simpler, it has the advantage of picking directories that don't have a .wrap file assotiated.
2020-09-10minstall: Add version field to install dataNirbheek Chauhan3-9/+17
And check the install data in the same way that mtest checks serialisation data. Fixes https://github.com/mesonbuild/meson/issues/2354
2020-09-10mtest: Refactor test data checkingNirbheek Chauhan1-21/+12
2020-09-10mtest: Check version in the test data after loadingNirbheek Chauhan3-16/+34
Same as coredata.dat and build.dat loading. Also, do not assert if things change. Raise the appropriate exception. Fixes https://github.com/mesonbuild/meson/issues/7613
2020-09-10Add a test run in an environment which only has a cross compilerJon Turney3-5/+29
Add '--cross-only' option to run_tests.py, so we can arrange not to run tests in the 'native' suite when only a cross-compiler is available, as they can't succeed.
2020-09-10Add release note snippetJon Turney1-0/+4
2020-09-10Split tests out from 'common' which require a native compilerJon Turney56-34/+131
Split out tests (and parts of tests) which require a native compiler from the 'common' suite to a new suite called 'native', so we can selectively avoid running those tests when only a cross-compiler is available. Also move test '211 cmake module' to 'cmake' suite, since it appears that the way we use cmake requires a native compiler.
2020-09-10Identify machine in error accesing compiler object for missing languageJon Turney3-1/+10
Also add a failing test case for that error.
2020-09-10ninja: Generate all STATIC_LINKER rulesJon Turney1-2/+5
Don't stop generating STATIC_LINKER rules at the first MachineChoice which isn't available (i.e. generate a STATIC_LINKER rule, even if STATIC_LINKER_FOR_BUILD isn't needed) Also warn about internal errors which lead to non-existent rule references, rather than exploding with a KeyError.
2020-09-10Don't require build machine compilers for project() languagesJon Turney2-6/+16
This means that, in the common case of a simple meson.build which doesn't contain any 'native: true' targets, we won't require a native compiler when cross-compiling, without needing any changes in the meson.build.
2020-09-10cmake: fix shared_module dependency (fixes #7715)Daniel Mensinger7-0/+250
2020-09-09Merge pull request #7657 from mensinda/moreTypingDylan Baker80-639/+834
typing: Strict type annotations
2020-09-09Merge pull request #7428 from jon-turney/introspector-add-languagesJussi Pakkanen3-12/+31
Handle add_languages(native:) in introspector
2020-09-09Add a test of add_languages(native:) introspectionJon Turney2-0/+10
If the meson.build doesn't use a native compiler, the native compiler options (e.g. 'c_args') shouldn't be present in the output of 'meson introspect --buildoptions'.
2020-09-09Implement add_languages(native:) in introspectorJon Turney1-2/+7
2020-09-08typing: fixup for #7708Daniel Mensinger1-1/+5
2020-09-08typing: fixup of #7688Daniel Mensinger2-3/+3
This bug not beeing caught in review is another reason for adding strict typing support to meson.
2020-09-08typing: Fix code reviewDaniel Mensinger3-37/+12
2020-09-08typing: fix LGTM bot errorDaniel Mensinger1-0/+4
2020-09-08typing: fix code reviewDaniel Mensinger12-42/+43
2020-09-08typing: get rid of most T.castDaniel Mensinger7-16/+21
2020-09-08typing: more fixesDaniel Mensinger19-161/+215
2020-09-08typing: Fix templatesDaniel Mensinger13-24/+28
2020-09-08typing: fix dependencies for new follow_importsDaniel Mensinger4-15/+18
2020-09-08typing: use follow_imports = silentDaniel Mensinger1-1/+1
2020-09-08typing: update run_mypy and mypy.iniDaniel Mensinger2-76/+48
2020-09-08typing: fix envconfig typingDaniel Mensinger2-2/+2
2020-09-08typing: ignore error because of untyped decoratorDaniel Mensinger1-1/+1
2020-09-08typing: fully annotate mintro and mtestDaniel Mensinger3-25/+27
2020-09-08typing: fully annotate mcompile, minit, and msetupDaniel Mensinger4-15/+22
2020-09-08typing: fully annotate fs moduleDaniel Mensinger2-4/+5
2020-09-08typing: fully annotate arglistDaniel Mensinger3-5/+7
2020-09-08typing: fully annotate boost and hdf5 depsDaniel Mensinger3-8/+15
2020-09-08typing: fully annotate scriptsDaniel Mensinger23-152/+184
2020-09-08typing: fully annotate toolsDaniel Mensinger5-21/+23
2020-09-08typing: fully annotate wrapDaniel Mensinger4-35/+41
2020-09-08typing: fully annotate mparser.pyDaniel Mensinger3-18/+31
2020-09-08typing: fully annotate mesonlib.pyDaniel Mensinger3-43/+55
2020-09-08typing: Add run_mypy.py for easier mypy invocationDaniel Mensinger3-2/+84
2020-09-08typing: completely type interpreterbaseDaniel Mensinger1-64/+68
2020-09-08typing: completely type astDaniel Mensinger3-7/+7