Commit 9271006 1 parent a73a33b commit 9271006 Copy full SHA for 9271006
File tree 1 file changed +20
-0
lines changed
src/tox_poetry_dev_dependencies
1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change 6
6
import typing
7
7
8
8
import poetry .core .factory
9
+ import poetry .core .poetry
9
10
import tox
10
11
11
12
if typing .TYPE_CHECKING :
@@ -48,6 +49,12 @@ def tox_addoption(parser: tox.config.Parser) -> None:
48
49
"'PIP_EXTRA_INDEX_URL')."
49
50
),
50
51
)
52
+ parser .add_testenv_attribute (
53
+ 'poetry_install_locked_dependencies' ,
54
+ 'bool' ,
55
+ "Install locked versions of the dependencies according to lock file" ,
56
+ default = False ,
57
+ )
51
58
52
59
53
60
@tox .hookimpl # type: ignore[misc]
@@ -58,6 +65,8 @@ def tox_configure(config: tox.config.Config) -> None:
58
65
except NoPoetryFound :
59
66
pass
60
67
else :
68
+ pinned_deps = _get_pinned_deps (poetry_ )
69
+ #
61
70
dev_deps = _get_dev_requirements (poetry_ )
62
71
_add_dev_dependencies (config , dev_deps )
63
72
#
@@ -131,6 +140,17 @@ def _get_dev_requirements(
131
140
return requirements
132
141
133
142
143
+ def _get_pinned_deps (
144
+ poetry_ : poetry .core .poetry .Poetry ,
145
+ ) -> typing .List [tox .config .DepConfig ]:
146
+ #
147
+ pinned_deps = [
148
+ tox .config .DepConfig (dependency .to_dependency ().to_pep_508 ())
149
+ for dependency in poetry_ .locker .get_packages ()
150
+ ]
151
+ return pinned_deps
152
+
153
+
134
154
def _get_index_servers (
135
155
poetry_ : poetry .core .poetry .Poetry ,
136
156
) -> 'IndexServersT' :
You can’t perform that action at this time.
0 commit comments