Skip to content

Commit 70bbc09

Browse files
authored
ensure compatibility with Poetry 2.0 (#128)
1 parent 0104775 commit 70bbc09

File tree

8 files changed

+29
-6
lines changed

8 files changed

+29
-6
lines changed

poetry.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ include = [
1616

1717
[tool.poetry.dependencies]
1818
python = "^3.9"
19-
poetry = "^1.5.0"
19+
poetry = ">=1.5.0,<3.0.0"
2020

2121
[tool.poetry.group.dev.dependencies]
2222
pre-commit = ">=2.6"

src/poetry_plugin_bundle/bundlers/venv_bundler.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,16 @@ def bundle(self, poetry: Poetry, io: IO) -> bool:
5555

5656
from cleo.io.null_io import NullIO
5757
from poetry.core.masonry.builders.wheel import WheelBuilder
58-
from poetry.core.masonry.utils.module import ModuleOrPackageNotFound
58+
59+
try:
60+
from poetry.core.masonry.utils.module import ( # type: ignore[attr-defined]
61+
ModuleOrPackageNotFoundError,
62+
)
63+
except ImportError:
64+
# poetry-core < 2.0
65+
from poetry.core.masonry.utils.module import (
66+
ModuleOrPackageNotFound as ModuleOrPackageNotFoundError,
67+
)
5968
from poetry.core.packages.package import Package
6069
from poetry.installation.installer import Installer
6170
from poetry.installation.operations.install import Install
@@ -140,7 +149,12 @@ def locked_repository(self) -> LockfileRepository:
140149
package.develop = False
141150
return repo
142151

143-
custom_locker = CustomLocker(poetry.locker.lock, poetry.local_config)
152+
try:
153+
locker_data = poetry.locker._pyproject_data # type: ignore[attr-defined]
154+
except AttributeError:
155+
# poetry < 2.0
156+
locker_data = poetry.locker._local_config
157+
custom_locker = CustomLocker(poetry.locker.lock, locker_data)
144158

145159
installer = Installer(
146160
NullIO() if not io.is_debug() else io,
@@ -192,7 +206,7 @@ def locked_repository(self) -> LockfileRepository:
192206
source_url=str(wheel),
193207
)
194208
installer.executor.execute([Install(package)])
195-
except ModuleOrPackageNotFound:
209+
except ModuleOrPackageNotFoundError:
196210
warnings.append(
197211
"The root package was not installed because no matching module or"
198212
" package was found."

tests/console/conftest.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,12 @@ def poetry(project_directory: str, config: Config) -> Poetry:
2727
p = Factory().create_poetry(
2828
Path(__file__).parent.parent / "fixtures" / project_directory
2929
)
30-
p.set_locker(TestLocker(p.locker.lock, p.locker._local_config))
30+
try:
31+
locker_data = p.locker._pyproject_data # type: ignore[attr-defined]
32+
except AttributeError:
33+
# poetry < 2.0
34+
locker_data = p.locker._local_config
35+
p.set_locker(TestLocker(p.locker.lock, locker_data))
3136

3237
return p
3338

tests/fixtures/simple_project/poetry.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/fixtures/simple_project_with_dev_dep/poetry.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/fixtures/simple_project_with_editable_dep/poetry.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/fixtures/simple_project_with_no_module/poetry.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)