mirror of
https://github.com/enpaul/tox-poetry-installer.git
synced 2024-10-29 19:47:00 +00:00
Ethan Paul
5a23c05f17
Add the _poetry submodule to support importing Poetry internals at runtime rather than import time. This allows the plugin to be run, and either skipped or errored, without crashing tox
44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
"""Custom plugin exceptions
|
|
|
|
All exceptions should inherit from the common base exception :exc:`ToxPoetryInstallerException`.
|
|
|
|
::
|
|
|
|
ToxPoetryInstallerException
|
|
+-- SkipEnvironment
|
|
| +-- PoetryNotInstalledError
|
|
+-- LockedDepVersionConflictError
|
|
+-- LockedDepNotFoundError
|
|
+-- ExtraNotFoundError
|
|
+-- LockedDepsRequiredError
|
|
|
|
"""
|
|
|
|
|
|
class ToxPoetryInstallerException(Exception):
|
|
"""Error while installing locked dependencies to the test environment"""
|
|
|
|
|
|
class SkipEnvironment(ToxPoetryInstallerException):
|
|
"""Current environment does not meet preconditions and should be skipped by the plugin"""
|
|
|
|
|
|
class PoetryNotInstalledError(SkipEnvironment):
|
|
"""No version of Poetry could be imported from the current Python environment"""
|
|
|
|
|
|
class LockedDepVersionConflictError(ToxPoetryInstallerException):
|
|
"""Locked dependencies cannot specify an alternate version for installation"""
|
|
|
|
|
|
class LockedDepNotFoundError(ToxPoetryInstallerException):
|
|
"""Locked dependency was not found in the lockfile"""
|
|
|
|
|
|
class ExtraNotFoundError(ToxPoetryInstallerException):
|
|
"""Project package extra not defined in project's pyproject.toml"""
|
|
|
|
|
|
class LockedDepsRequiredError(ToxPoetryInstallerException):
|
|
"""Environment cannot specify unlocked dependencies when locked dependencies are required"""
|