blob: 4f1a51d0a2ccaf47db9c2bf7423d10b19e59863b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
"""
A tox python environment runner that uses the virtualenv project.
"""
from __future__ import annotations
from pathlib import Path
from tox.plugin import impl
from tox.tox_env.register import ToxEnvRegister
from ..runner import PythonRun
from .api import VirtualEnv
class VirtualEnvRunner(VirtualEnv, PythonRun):
"""local file system python virtual environment via the virtualenv package"""
@staticmethod
def id() -> str:
return "virtualenv"
@property
def _package_tox_env_type(self) -> str:
return "virtualenv-pep-517"
@property
def _external_pkg_tox_env_type(self) -> str:
return "virtualenv-cmd-builder"
@property
def default_pkg_type(self) -> str:
tox_root: Path = self.core["tox_root"]
if not (any((tox_root / i).exists() for i in ("pyproject.toml", "setup.py", "setup.cfg"))):
return "skip"
return super().default_pkg_type
@impl
def tox_register_tox_env(register: ToxEnvRegister) -> None:
register.add_run_env(VirtualEnvRunner)
|