[+] fix module:switch for tool key

This commit is contained in:
Siarhei Siniak 2025-05-10 18:42:02 +03:00
parent 68901a4ec5
commit a8f57337ad
5 changed files with 20 additions and 6 deletions

@ -5,7 +5,7 @@ project(
).stdout().strip('\n'),
# 'online.fxreader.uv',
# ['c', 'cpp'],
version: '0.1.5.16+27.9',
version: '0.1.5.16+27.11',
# default_options: [
# 'cpp_std=c++23',
# # 'prefer_static=true',

@ -628,9 +628,12 @@ class CLI(abc.ABC):
pyproject2['tool'] = []
pyproject_tool = pyproject2['tool']
assert isinstance(pyproject_tool, tomlkit.items.Array)
# assert isinstance(pyproject_tool, tomlkit.items.Array)
assert isinstance(pyproject_tool, tomlkit.items.Table)
pyproject_tool.extend(module.tool)
for k, v in module.tool.items():
assert not k in pyproject_tool
pyproject_tool[k] = v
del p
del pyproject_tool

@ -39,7 +39,7 @@ class PyProject:
class Module:
name: str
meson: Optional[pathlib.Path] = None
tool: list[Any] = dataclasses.field(default_factory=lambda : [])
tool: dict[str, Any] = dataclasses.field(default_factory=lambda : dict())
path: pathlib.Path
dependencies: dict[str, list[str]]
@ -150,9 +150,14 @@ def pyproject_load(
module.meson = pathlib.Path(o['meson'])
if 'tool' in o:
assert isinstance(o['tool'], list)
assert isinstance(o['tool'], dict)
module.tool.extend(o['tool'])
assert all([
isinstance(o, str)
for o in o['tool']
])
module.tool.update(o['tool'])
res.modules.append(module)

Binary file not shown.

Binary file not shown.