aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside-tools/project_lib/project_data.py
diff options
context:
space:
mode:
authorJaime Resano <Jaime.Resano-Aisa@qt.io>2025-02-24 16:11:28 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2025-03-12 22:15:36 +0100
commit545ca796dbd93edb66dc3c21c74511fab8e9d0a3 (patch)
tree864fa936fb5986d39ec2477b87671550f4dae830 /sources/pyside-tools/project_lib/project_data.py
parent3ea026146e4c4f13d9069099c18f50df62020e62 (diff)
pyproject.toml: 2. Add pyproject.toml support for pyside6 tools
This patch adds support for pyproject.toml files to the pyside6-project tool. A new command argument is added to migrate a .pyproject JSON file to the new pyproject.toml file: `pyside6-project migrate-pyproject` The new features are tested and it is guaranteed that the current behavior is preserved. A new flag is added to the project creation operations, "--legacy-pyproject", in order to generate a .pyproject file instead of a pyproject.toml file. Note that the tomlkit library is added to the requirements.txt file. https://github.com/python-poetry/tomlkit Task-number: PYSIDE-2714 Change-Id: If33956dea73b79df0a52d4dcda3934c85e57182d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/pyside-tools/project_lib/project_data.py')
-rw-r--r--sources/pyside-tools/project_lib/project_data.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/sources/pyside-tools/project_lib/project_data.py b/sources/pyside-tools/project_lib/project_data.py
index 1a5055ae7..9a219c957 100644
--- a/sources/pyside-tools/project_lib/project_data.py
+++ b/sources/pyside-tools/project_lib/project_data.py
@@ -7,9 +7,10 @@ import os
import subprocess
import sys
from pathlib import Path
-from . import (METATYPES_JSON_SUFFIX, PYPROJECT_JSON_PATTERN,
+from . import (METATYPES_JSON_SUFFIX, PYPROJECT_JSON_PATTERN, PYPROJECT_TOML_PATTERN,
PYPROJECT_FILE_PATTERNS, TRANSLATION_SUFFIX, qt_metatype_json_dir, MOD_CMD,
QML_IMPORT_MAJOR_VERSION, QML_IMPORT_MINOR_VERSION, QML_IMPORT_NAME, QT_MODULES)
+from .pyproject_toml import parse_pyproject_toml
from .pyproject_json import parse_pyproject_json
@@ -40,6 +41,8 @@ class ProjectData:
if project_file.match(PYPROJECT_JSON_PATTERN):
project_file_data = parse_pyproject_json(project_file)
+ elif project_file.match(PYPROJECT_TOML_PATTERN):
+ project_file_data = parse_pyproject_toml(project_file)
else:
print(f"Unknown project file format: {project_file}", file=sys.stderr)
sys.exit(1)