mirror of
https://github.com/enpaul/tox-poetry-installer.git
synced 2024-10-29 19:47:00 +00:00
Merge pull request #19 from enpaul/enp/install-dev-deps
Add config option for installing dev dependencies to testenv
This commit is contained in:
commit
3a262d718c
@ -96,6 +96,10 @@ deps =
|
||||
commands = ...
|
||||
```
|
||||
|
||||
Alternatively, to quickly install all Poetry dev-dependencies to a Tox environment, add the
|
||||
`install_dev_deps = true` option to the environment configuration. This option can be used either
|
||||
with the `require_locked_deps = true` option or without it
|
||||
|
||||
**Note:** Regardless of the settings outlined above, all dependencies of the project package (the
|
||||
one Tox is testing) will always be installed from the lockfile.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "tox-poetry-installer"
|
||||
version = "0.3.1"
|
||||
version = "0.4.0"
|
||||
license = "MIT"
|
||||
authors = ["Ethan Paul <24588726+enpaul@users.noreply.github.com>"]
|
||||
description = "Tox plugin to install Tox environment dependencies using the Poetry backend and lockfile"
|
||||
|
@ -45,7 +45,7 @@ from tox.venv import VirtualEnv as ToxVirtualEnv
|
||||
|
||||
__title__ = "tox-poetry-installer"
|
||||
__summary__ = "Tox plugin to install Tox environment dependencies using the Poetry backend and lockfile"
|
||||
__version__ = "0.3.1"
|
||||
__version__ = "0.4.0"
|
||||
__url__ = "https://github.com/enpaul/tox-poetry-installer/"
|
||||
__license__ = "MIT"
|
||||
__authors__ = ["Ethan Paul <24588726+enpaul@users.noreply.github.com>"]
|
||||
@ -232,6 +232,23 @@ def _install_env_dependencies(
|
||||
reporter.error(f"{_REPORTER_PREFIX} {err}")
|
||||
raise err
|
||||
|
||||
if venv.envconfig.install_dev_deps:
|
||||
reporter.verbosity1(
|
||||
f"{_REPORTER_PREFIX} env specifies 'install_env_deps = true', including Poetry dev dependencies"
|
||||
)
|
||||
|
||||
dev_dependencies = [
|
||||
dep
|
||||
for dep in poetry.locker.locked_repository(True).packages
|
||||
if dep not in poetry.locker.locked_repository(False).packages
|
||||
]
|
||||
|
||||
reporter.verbosity1(
|
||||
f"{_REPORTER_PREFIX} identified {len(dev_dependencies)} Poetry dev dependencies"
|
||||
)
|
||||
|
||||
dependencies = list(set(dev_dependencies + dependencies))
|
||||
|
||||
reporter.verbosity1(
|
||||
f"{_REPORTER_PREFIX} identified {len(dependencies)} total dependencies from {len(env_deps.locked_deps)} locked env dependencies"
|
||||
)
|
||||
@ -306,6 +323,13 @@ def tox_addoption(parser: ToxParser):
|
||||
dependencies should be treated as locked or not.
|
||||
"""
|
||||
|
||||
parser.add_testenv_attribute(
|
||||
name="install_dev_deps",
|
||||
type="bool",
|
||||
default=False,
|
||||
help="Automatically install all Poetry development dependencies to the environment",
|
||||
)
|
||||
|
||||
parser.add_testenv_attribute(
|
||||
name="require_locked_deps",
|
||||
type="bool",
|
||||
|
Loading…
Reference in New Issue
Block a user