diff options
author | Bernát Gábor <gaborjbernat@gmail.com> | 2023-01-03 18:05:12 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-03 18:05:12 -0800 |
commit | 82dcd45af55af239a7be81ee2e86948c6fe75518 (patch) | |
tree | fc35818cc20bf04b64e77c046b8726bc280ce320 /src/tox/tox_env/python/package.py | |
parent | 31c8d1fc48ccf95f66b2920b356f9490686ccfc7 (diff) | |
download | tox-git-82dcd45af55af239a7be81ee2e86948c6fe75518.tar.gz |
Packaging inherits from pkgenv, deps and document tox 4 packaging changes (#2813)
Resolves https://github.com/tox-dev/tox/issues/2543
Diffstat (limited to 'src/tox/tox_env/python/package.py')
-rw-r--r-- | src/tox/tox_env/python/package.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/tox/tox_env/python/package.py b/src/tox/tox_env/python/package.py index 910554a8..289bd774 100644 --- a/src/tox/tox_env/python/package.py +++ b/src/tox/tox_env/python/package.py @@ -5,7 +5,7 @@ from __future__ import annotations from abc import ABC, abstractmethod from pathlib import Path -from typing import TYPE_CHECKING, Any, Generator, Iterator, Sequence, cast +from typing import TYPE_CHECKING, Any, Generator, Iterator, List, Sequence, cast from packaging.requirements import Requirement @@ -56,6 +56,7 @@ class PythonPackageToxEnv(Python, PackageToxEnv, ABC): """setup the tox environment""" super()._setup_env() self._install(self.requires(), PythonPackageToxEnv.__name__, "requires") + self._install(self.conf["deps"], PythonPackageToxEnv.__name__, "deps") @abstractmethod def requires(self) -> tuple[Requirement, ...] | PythonDeps: @@ -63,6 +64,14 @@ class PythonPackageToxEnv(Python, PackageToxEnv, ABC): def register_run_env(self, run_env: RunToxEnv) -> Generator[tuple[str, str], PackageToxEnv, None]: yield from super().register_run_env(run_env) + if run_env.conf["package"] != "skip" and "deps" not in self.conf: + self.conf.add_config( + keys="deps", + of_type=List[Requirement], + default=[], + desc="Name of the python dependencies as specified by PEP-440", + ) + if ( not isinstance(run_env, Python) or run_env.conf["package"] not in {"wheel", "editable"} |