File tree Expand file tree Collapse file tree 1 file changed +19
-0
lines changed
src/tox_poetry_dev_dependencies Expand file tree Collapse file tree 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change 66import typing
77
88import poetry .core .factory
9+ import poetry .core .poetry
910import tox
1011
1112if typing .TYPE_CHECKING :
@@ -48,6 +49,11 @@ def tox_addoption(parser: tox.config.Parser) -> None:
4849 "'PIP_EXTRA_INDEX_URL')."
4950 ),
5051 )
52+ parser .add_testenv_attribute (
53+ 'poetry_install_locked_dependencies' ,
54+ 'bool' ,
55+ "Install locked versions of the dependencies according to lock file" ,
56+ )
5157
5258
5359@tox .hookimpl # type: ignore[misc]
@@ -58,6 +64,8 @@ def tox_configure(config: tox.config.Config) -> None:
5864 except NoPoetryFound :
5965 pass
6066 else :
67+ pinned_deps = _get_pinned_deps (poetry_ )
68+ #
6169 dev_deps = _get_dev_requirements (poetry_ )
6270 _add_dev_dependencies (config , dev_deps )
6371 #
@@ -131,6 +139,17 @@ def _get_dev_requirements(
131139 return requirements
132140
133141
142+ def _get_pinned_deps (
143+ poetry_ : poetry .core .poetry .Poetry ,
144+ ) -> typing .List [tox .config .DepConfig ]:
145+ #
146+ pinned_deps = [
147+ tox .config .DepConfig (dependency .to_dependency ().to_pep_508 ())
148+ for dependency in poetry_ .locker .get_packages ()
149+ ]
150+ return pinned_deps
151+
152+
134153def _get_index_servers (
135154 poetry_ : poetry .core .poetry .Poetry ,
136155) -> 'IndexServersT' :
You can’t perform that action at this time.
0 commit comments