diff --git a/pyproject.toml b/pyproject.toml index 11457715..6eb26002 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -259,7 +259,6 @@ src = [ "src", "tests", ] -target-version = "py37" [tool.ruff.format] docstring-code-format = true diff --git a/src/compwa_policy/check_dev_files/black.py b/src/compwa_policy/check_dev_files/black.py index 750e1f83..5c142874 100644 --- a/src/compwa_policy/check_dev_files/black.py +++ b/src/compwa_policy/check_dev_files/black.py @@ -1,5 +1,7 @@ """Update :file:`pyproject.toml` black configuration.""" +from typing import Any + from ruamel.yaml import YAML from compwa_policy.utilities import CONFIG_PATH, vscode @@ -59,12 +61,19 @@ def _remove_outdated_settings(pyproject: ModifiablePyproject) -> None: def _update_black_settings(pyproject: ModifiablePyproject) -> None: settings = pyproject.get_table("tool.black", create=True) - versions = pyproject.get_supported_python_versions() - target_version = to_toml_array(sorted("py" + v.replace(".", "") for v in versions)) - minimal_settings = { - "preview": True, - "target-version": target_version, - } + minimal_settings: dict[str, Any] = {"preview": True} + project_root = pyproject.get_table("project", create=True) + if "requires-python" in project_root: + if settings.get("target-version") is not None: + settings.pop("target-version") + msg = "Removed target-version from black configuration" + pyproject.changelog.append(msg) + else: + versions = pyproject.get_supported_python_versions() + target_version = to_toml_array( + sorted("py" + v.replace(".", "") for v in versions) + ) + minimal_settings["target-version"] = target_version if not complies_with_subset(settings, minimal_settings): settings.update(minimal_settings) msg = "Updated black configuration" diff --git a/src/compwa_policy/check_dev_files/ruff.py b/src/compwa_policy/check_dev_files/ruff.py index 4953e136..574b4ad6 100644 --- a/src/compwa_policy/check_dev_files/ruff.py +++ b/src/compwa_policy/check_dev_files/ruff.py @@ -205,11 +205,18 @@ def __update_global_settings( pyproject: ModifiablePyproject, has_notebooks: bool ) -> None: settings = pyproject.get_table("tool.ruff", create=True) - minimal_settings = { + minimal_settings: dict[str, Any] = { "preview": True, "show-fixes": True, - "target-version": ___get_target_version(pyproject), } + project = pyproject.get_table("project", create=True) + if "requires-python" in project: + if settings.get("target-version") is not None: + settings.pop("target-version") + msg = "Removed target-version from Ruff configuration" + pyproject.changelog.append(msg) + else: + minimal_settings["target-version"] = ___get_target_version(pyproject) if has_notebooks: key = "extend-include" default_includes = sorted({