blob: 4ad805290465575a12dcbb9e225b5da50005912e (
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
from argparse import ArgumentParser
from typing import Any, Callable, TypeVar, cast
import pluggy
from tox.config.main import Config
from tox.config.sets import ConfigSet
from tox.tox_env.register import ToxEnvRegister
from . import NAME
_F = TypeVar("_F", bound=Callable[..., Any])
_spec_marker = pluggy.HookspecMarker(NAME)
def _spec(func: _F) -> _F:
return cast(_F, _spec_marker(func))
@_spec
def tox_register_tox_env(register: ToxEnvRegister) -> None: # noqa: U100
"""
Register new tox environment type. You can register:
- **run environment**: by default this is a local subprocess backed virtualenv Python
- **packaging environment**: by default this is a PEP-517 compliant local subprocess backed virtualenv Python
:param register: a object that can be used to register new tox environment types
"""
@_spec
def tox_add_option(parser: ArgumentParser) -> None: # noqa: U100
"""
Add a command line argument. This is the first hook to be called, right after the logging setup and config source
discovery.
:param parser: the command line parser
"""
@_spec
def tox_add_core_config(core: ConfigSet) -> None: # noqa: U100
"""
Define a new core (non test environment bound) settings for tox. Called the first time the core configuration is
used (at the start of the provision check).
:param core: the core configuration object
"""
@_spec
def tox_configure(config: Config) -> None: # noqa: U100
"""
Called after command line options are parsed and ini-file has been read.
:param config: the configuration object
"""
__all__ = (
"NAME",
"tox_register_tox_env",
"tox_add_option",
"tox_add_core_config",
"tox_configure",
)
|