summaryrefslogtreecommitdiff
path: root/mesonbuild/modules/dlang.py
AgeCommit message (Collapse)Author
2025-10-15revert local_program()Eli Schwartz
This reverts https://github.com/mesonbuild/meson/pull/15107 Explicit objections regarding the design were raised and not answered, so it shouldn't have been merged. It needs to be discussed and revisited.
2025-10-15Replace OverrideExecutable and OverrideProgram with LocalProgramXavier Claessens
2025-10-15Add support for LocalProgram to override_find_program()Xavier Claessens
2025-09-26modules/dlang: Fix typing issuesDylan Baker
The majority of this is just adding annotations to convince mypy that everything is okay. There is one place where there is a real change, which is validating that the keyword arguments (which are unbound) are of a valid type to be encoded as JSON.
2024-08-06modules/dlang: Use the DubDependency.class_dubbin correctlyRemi Thebault
Which was broken because of DubDependency.class_dubbin typing change. Passed under radar because Dub tests were deactivated in the same PR.
2024-02-12dlang module: simplify dependency handling with DRYEli Schwartz
It can be a list or a single dependency, but the same logic happens either way. Instead of manually expanding the logic for both cases, just convert it to a list as needed.
2023-12-13Use SPDX-License-Identifier consistentlyDylan Baker
This replaces all of the Apache blurbs at the start of each file with an `# SPDX-License-Identifier: Apache-2.0` string. It also fixes existing uses to be consistent in capitalization, and to be placed above any copyright notices. This removes nearly 3000 lines of boilerplate from the project (only python files), which no developer cares to look at. SPDX is in common use, particularly in the Linux kernel, and is the recommended format for Meson's own `project(license: )` field
2023-06-26dependencies: move dub to a hidden package internal detailEli Schwartz
Do not import it and expose it at the package scope, it's never used elsewhere except inside the dub module.
2023-02-01treewide: add future annotations importEli Schwartz
2022-08-17modules: use module level information about new and deprecationDylan Baker
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 Schwartz
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 Schwartz
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 Schwartz
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 Baker
2021-06-29fix: Always explicitly set encoding for text files (fixes #8263)Daniel Mensinger
2021-06-03deps: Split dependencies.baseDaniel Mensinger
Split the Factory and dependency classes out of the base.py script to improve maintainability.
2021-05-28modules: Add methods dict everywhereXavier Claessens
This fix calling random internal methods from meson.build as long as they were not prefixed by underscore.
2021-05-28modules: Remove snippet methodsXavier Claessens
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 Baker
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 Schwartz
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.jsonFFY00
2018-06-17dlang module: add a method to generate a dub fileFFY00