Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-04-14 | typo | Eli Schwartz | 1 | -1/+1 | |
2022-03-29 | move a bunch of imports into TYPE_CHECKING blocks | Eli Schwartz | 1 | -4/+4 | |
These are only used for type checking, so don't bother importing them at runtime. Generally add future annotations at the same time, to make sure that existing uses of these imports don't need to be quoted. | |||||
2022-03-13 | Merge pull request #9339 from dcbaker/submit/structured_sources | Jussi Pakkanen | 1 | -0/+6 | |
Structured Sources | |||||
2022-03-07 | treewide: string-quote the first argument to T.cast | Eli Schwartz | 1 | -1/+1 | |
Using future annotations, type annotations become strings at runtime and don't impact performance. This is not possible to do with T.cast though, because it is a function argument instead of an annotation. Quote the type argument everywhere in order to have the same effect as future annotations. This also allows linters to better detect in some cases that a given import is typing-only. | |||||
2022-03-07 | interpreter: Add a holder for StructuredSources | Dylan Baker | 1 | -0/+6 | |
And teach the interpreter how to use it | |||||
2022-03-07 | Fix mypy CI. | Jussi Pakkanen | 1 | -1/+1 | |
2022-03-07 | Merge pull request #10043 from dcbaker/submit/type-checking-for-subproject | Jussi Pakkanen | 1 | -3/+6 | |
Add typing for subproject() | |||||
2022-03-06 | find_program: add a version() method to match the one for dependencies | Eli Schwartz | 1 | -0/+12 | |
It is often useful to check the found version of a program without checking whether you can successfully find `find_program('foo', required: false, version: '>=XXX')` | |||||
2022-03-03 | interpreter: fix mismatched type expectations | Dylan Baker | 1 | -2/+2 | |
2022-03-03 | interpreter: add cm_interpreter to SubprojectHolder | Dylan Baker | 1 | -1/+4 | |
This is used in the cmake module, as an extra attribute we just tack on. Instead, let's actually define and type it. | |||||
2022-03-01 | clean up FeatureCheck signature to move location to use time | Eli Schwartz | 1 | -2/+2 | |
The point of a .use() function is because we don't always have the information we need to use a feature check, so we allow creating the feature and then storing it for later use. When implementing location checks, although it is optional, actually using it violated that design. Move the location out of the init method for FeatureCheck itself. It remains compatible with all cases of .single_use(), but fix the rest up. | |||||
2022-02-28 | Allow setting method/separator in environment() and meson.add_devenv() | Xavier Claessens | 1 | -8/+4 | |
2022-02-14 | FeatureNew: add mypy type annotations for subproject arg | Eli Schwartz | 1 | -1/+2 | |
Use a derived type when passing `subproject` around, so that mypy knows it's actually a SubProject, not a str. This means that passing anything other than a handle to the interpreter state's subproject attribute becomes a type violation, specifically when the order of the *four* different str arguments is typoed. | |||||
2022-02-09 | add some forgotten FeatureNew annotations | Eli Schwartz | 1 | -0/+3 | |
Forgotten in #8512. | |||||
2022-02-01 | interpreter: support for forcibly verbose logging of some tests | Paolo Bonzini | 1 | -1/+2 | |
Add a new keyword argument to test() and benchmark(), completing the implementation of the feature. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> | |||||
2022-01-23 | interpreterobjects: Don't warn on set10(bool) | Dylan Baker | 1 | -1/+4 | |
Python inherited a really bad design from C, booleans happen to be ints. Which is awful, but it's true. Fixes: #9858 | |||||
2022-01-18 | interpreterobjects: deprecated passing a number to configuration_data.set10 | Dylan Baker | 1 | -0/+8 | |
This is currently allowed, and is used in at least a few projects. It was not intended to work or documented, but it does and since it is in use a full deprecation period must be used. A warning has also been added for values < 0, which have surprising behavior. | |||||
2022-01-18 | interpreterobjects: remove no-flattening from configuraiton_data.get | Dylan Baker | 1 | -1/+0 | |
It's no longer required because we don't allow arrays as fallbacks anymore. | |||||
2022-01-18 | interpreterobjects: don't allow keyword arguments in configuration_data.keys | Dylan Baker | 1 | -0/+1 | |
Which do nothing, and shouldn't be allowed. | |||||
2022-01-18 | interpreter: replace ConfigurationDataObject with ConfigurationDataHolder | Dylan Baker | 1 | -28/+22 | |
This is much cleaner, and more in line with the way we handle interpreter objects in modern meson practice | |||||
2022-01-18 | interpreterobjects: clean up ConfigurationData initializer | Dylan Baker | 1 | -4/+2 | |
2022-01-18 | interpreterobjects: use typed_* for configuration_data.set* | Dylan Baker | 1 | -43/+23 | |
This removes the ability to use ConfigurationData as a dict, but restricting the inputs to `str | int | bool`. This may be a little too soon for this, and we may want to wait on that part, it's only bee 8 months since we started warning about this. | |||||
2022-01-18 | interpreterobjects: use typed_* with configuration_data.merge_from | Dylan Baker | 1 | -7/+5 | |
2022-01-18 | interpreterobjects: use typed_* with configuration_data.get_unquoted | Dylan Baker | 1 | -7/+5 | |
2022-01-18 | interpreterobjects: use typed_args for configuration_data.get | Dylan Baker | 1 | -12/+6 | |
2022-01-18 | interpreterobjects: use typed_pos_args and noKwargs for configuration.data.has | Dylan Baker | 1 | -1/+3 | |
2022-01-18 | interpreterobjects: use typed_kwargs for dependency.get_variable | Dylan Baker | 1 | -8/+20 | |
2022-01-18 | interpreterobjects: use typed_kwargs for dependency.get_pkgconfig_variable | Dylan Baker | 1 | -2/+12 | |
2022-01-18 | dependencies: don't pass kwargs from get_pkgconfig_variable | Dylan Baker | 1 | -1/+1 | |
This is a layering violation, we're relying on the way the interpreter handles keyword arguments. Instead, pass them as free variables, destructuring in the interpreter | |||||
2022-01-18 | interpreterobjects: use typed_kwargs for FeatureOption.require | Dylan Baker | 1 | -10/+9 | |
2022-01-18 | interpreterobjects: use typed_pos_args for FeatureOpotion | Dylan Baker | 1 | -10/+4 | |
2022-01-18 | interpreterobjects: use typed_pos_args for dependency.as_system_method | Dylan Baker | 1 | -11/+3 | |
2022-01-18 | interpreterobjects: use typed_pos_args for dependency.get_configtool_variable | Dylan Baker | 1 | -8/+3 | |
2022-01-18 | interpreterobjects: use typed_pos_args for dependency.get_pkgconfig_variable | Dylan Baker | 1 | -8/+3 | |
2022-01-18 | interpreterobjects: consistently use dependency. for error messages | Dylan Baker | 1 | -16/+16 | |
We currently use a mixture of dependency, Dependency, and dep | |||||
2021-12-17 | Fix mypy errors | Daniel Mensinger | 1 | -0/+1 | |
2021-12-06 | interpreter: use build.GeneratedTypes | Paolo Bonzini | 1 | -1/+1 | |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> | |||||
2021-12-06 | interpreter: allow extract_objects to receive generated sources | Paolo Bonzini | 1 | -2/+2 | |
Fixes: #8333 | |||||
2021-12-01 | add install_symlink function | Pablo Correa Gómez | 1 | -0/+3 | |
Allows installing symlinks directly from meson, which can become useful in multiple scenarios. Current main use is to help moving forward #9557 | |||||
2021-11-30 | fix broken FeatureNew checks that never printed | Eli Schwartz | 1 | -2/+2 | |
They passed the arguments in the wrong order, so the version parsed as the message and the message parsed as a version. While we are at it, pass the location node in too. | |||||
2021-11-25 | interpreter: fix `feature.require` handling of error message | Benoit Pierre | 1 | -1/+2 | |
Don't show a blank error when no `error_message` was passed as argument. | |||||
2021-11-01 | various manual conversion of percent-formatted strings to f-strings | Eli Schwartz | 1 | -5/+5 | |
2021-10-30 | Typo fixes (CustomTaget -> CustomTarget) | rusty-snake | 1 | -1/+1 | |
2021-10-10 | Fix typos discovered by codespell | Christian Clauss | 1 | -2/+2 | |
2021-10-08 | add install_emptydir function | Eli Schwartz | 1 | -0/+3 | |
This replaces the absolute hack of using ``` install_subdir('nonexisting', install_dir: 'share') ``` which requires you to make sure you don't accidentally or deliberately have a completely different directory with the same name in your source tree that is full of files you don't want installed. It also avoids splitting the name in two and listing them in the wrong order. You can also set the install mode of each directory component by listing them one at a time in order, and in fact create nested structures at all. Fixes #1604 Properly fixes #2904 | |||||
2021-10-04 | remove f from f-string that has no formatting | Eli Schwartz | 1 | -1/+1 | |
2021-09-25 | Remove helpers.check_stringlist() | Daniel Mensinger | 1 | -10/+13 | |
2021-09-01 | interpreter: Remove permissive from _unholder | Daniel Mensinger | 1 | -3/+3 | |
2021-08-31 | pylint: enable unnecessary-not check | Dylan Baker | 1 | -1/+1 | |
This finds things like ```python if not x == 1: ``` which should be ```python if x != 1: ``` | |||||
2021-08-30 | interpreter: rename EnvironmentVariablesObject -> EnvironmentVariablesHolder | Dylan Baker | 1 | -3/+3 | |
This is more consistent with other Holder classes |