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 = ...
|
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
|
**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.
|
one Tox is testing) will always be installed from the lockfile.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "tox-poetry-installer"
|
name = "tox-poetry-installer"
|
||||||
version = "0.3.1"
|
version = "0.4.0"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
authors = ["Ethan Paul <24588726+enpaul@users.noreply.github.com>"]
|
authors = ["Ethan Paul <24588726+enpaul@users.noreply.github.com>"]
|
||||||
description = "Tox plugin to install Tox environment dependencies using the Poetry backend and lockfile"
|
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"
|
__title__ = "tox-poetry-installer"
|
||||||
__summary__ = "Tox plugin to install Tox environment dependencies using the Poetry backend and lockfile"
|
__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/"
|
__url__ = "https://github.com/enpaul/tox-poetry-installer/"
|
||||||
__license__ = "MIT"
|
__license__ = "MIT"
|
||||||
__authors__ = ["Ethan Paul <24588726+enpaul@users.noreply.github.com>"]
|
__authors__ = ["Ethan Paul <24588726+enpaul@users.noreply.github.com>"]
|
||||||
@ -232,6 +232,23 @@ def _install_env_dependencies(
|
|||||||
reporter.error(f"{_REPORTER_PREFIX} {err}")
|
reporter.error(f"{_REPORTER_PREFIX} {err}")
|
||||||
raise 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(
|
reporter.verbosity1(
|
||||||
f"{_REPORTER_PREFIX} identified {len(dependencies)} total dependencies from {len(env_deps.locked_deps)} locked env dependencies"
|
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.
|
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(
|
parser.add_testenv_attribute(
|
||||||
name="require_locked_deps",
|
name="require_locked_deps",
|
||||||
type="bool",
|
type="bool",
|
||||||
|
Loading…
Reference in New Issue
Block a user