summaryrefslogtreecommitdiff
path: root/src/tox/tox_env/python/package.py
diff options
context:
space:
mode:
authorBernát Gábor <gaborjbernat@gmail.com>2023-01-03 18:05:12 -0800
committerGitHub <noreply@github.com>2023-01-03 18:05:12 -0800
commit82dcd45af55af239a7be81ee2e86948c6fe75518 (patch)
treefc35818cc20bf04b64e77c046b8726bc280ce320 /src/tox/tox_env/python/package.py
parent31c8d1fc48ccf95f66b2920b356f9490686ccfc7 (diff)
downloadtox-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.py11
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"}