aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/dlang.py
AgeCommit message (Collapse)AuthorFilesLines
2023-02-01treewide: add future annotations importEli Schwartz1-0/+1
2022-08-17modules: use module level information about new and deprecationDylan Baker1-3/+4
Instead of using FeatureNew/FeatureDeprecated in the module. The goal here is to be able to handle information about modules in a single place, instead of having to handle it separately. Each module simply defines some metadata, and then the interpreter handles the rest.
2022-03-24dub module: use typed_pos_args to check positional argumentsEli Schwartz1-4/+2
We cannot use typed_kwargs though, because we allow fully arbitrary kwargs and add them as keys in the generated dub file.
2021-12-31add FeatureNew decorators for various modules that were lacking themEli Schwartz1-0/+2
Going back to 0.38, though some of them are far older. The original implementation of FeatureNew only added backdated feature checks that far, anyway.
2021-12-21modules: use find_program implementation to find programsEli Schwartz1-6/+5
Do not use ExternalProgram as that is too low-level and doesn't handle e.g. machine file overrides. Fixes #9733
2021-08-03modules/dlang: Fix dependencies that should have been updatedDylan Baker1-15/+9
2021-06-29fix: Always explicitly set encoding for text files (fixes #8263)Daniel Mensinger1-2/+2
2021-06-03deps: Split dependencies.baseDaniel Mensinger1-1/+1
Split the Factory and dependency classes out of the base.py script to improve maintainability.
2021-05-28modules: Add methods dict everywhereXavier Claessens1-0/+3
This fix calling random internal methods from meson.build as long as they were not prefixed by underscore.
2021-05-28modules: Remove snippet methodsXavier Claessens1-2/+1
The only advantage they have is they have the interpreter in arguments, but it's already available as self.interpreter. We should discourage usage of the interpreter API and rely on ModuleState object instead in the future. This also lift the restriction that a module method cannot add build targets, but that was not enforced for snippet methods anyway (and some modules were doing it) and it's really loose restriction as it should check for many other things if we wanted to make it consistent.
2021-03-19split program related classes and functions out of dependenciesDylan Baker1-4/+2
Dependencies is already a large and complicated package without adding programs to the list. This also allows us to untangle a bit of spaghetti that we have.
2021-03-04various python neatness cleanupsEli Schwartz1-1/+1
All changes were created by running "pyupgrade --py3-only --keep-percent-format" and committing the results. I have not touched string formatting for now. - use set literals - simplify .format() parameter naming - remove __future__ - remove default "r" mode for open() - use OSError rather than compatibility aliases - remove stray parentheses in function(generator) scopes
2018-07-16dlang module: allow all configuration types when generating dub.jsonFFY001-37/+2
2018-06-17dlang module: add a method to generate a dub fileFFY001-0/+176