Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update poetry-core to 1.1.0b1 #5673

Merged
merged 6 commits into from May 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
100 changes: 50 additions & 50 deletions poetry.lock

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pyproject.toml
Expand Up @@ -44,8 +44,8 @@ generate-setup-file = false
[tool.poetry.dependencies]
python = "^3.7"

poetry-core = "^1.1.0a7"
poetry-plugin-export = "^1.0.2"
poetry-core = "^1.1.0b1"
poetry-plugin-export = "^1.0.3"
cachecontrol = { version = "^0.12.9", extras = ["filecache"] }
cachy = "^0.3.0"
cleo = "^1.0.0a4"
Expand Down
4 changes: 2 additions & 2 deletions src/poetry/console/commands/show.py
Expand Up @@ -393,7 +393,7 @@ def display_package_tree(
dependencies = package.requires
dependencies = sorted(
dependencies,
key=lambda x: x.name, # type: ignore[no-any-return]
key=lambda x: x.name,
)

tree_bar = "├"
Expand Down Expand Up @@ -437,7 +437,7 @@ def _display_tree(

dependencies = sorted(
dependencies,
key=lambda x: x.name, # type: ignore[no-any-return]
key=lambda x: x.name,
)
tree_bar = previous_tree_bar + " ├"
total = len(dependencies)
Expand Down
2 changes: 1 addition & 1 deletion src/poetry/factory.py
Expand Up @@ -41,7 +41,7 @@
logger = logging.getLogger(__name__)


class Factory(BaseFactory): # type: ignore[misc]
class Factory(BaseFactory):
"""
Factory class to create various elements needed by Poetry.
"""
Expand Down
2 changes: 1 addition & 1 deletion src/poetry/masonry/builders/editable.py
Expand Up @@ -40,7 +40,7 @@
"""


class EditableBuilder(Builder): # type: ignore[misc]
class EditableBuilder(Builder):
def __init__(self, poetry: Poetry, env: Env, io: IO) -> None:
super().__init__(poetry)

Expand Down
9 changes: 1 addition & 8 deletions src/poetry/mixology/version_solver.py
Expand Up @@ -19,7 +19,6 @@
from poetry.mixology.set_relation import SetRelation
from poetry.mixology.term import Term
from poetry.packages import DependencyPackage
from poetry.utils._compat import metadata


if TYPE_CHECKING:
Expand Down Expand Up @@ -47,13 +46,7 @@ def __init__(self, provider: Provider) -> None:
list[DependencyPackage],
] = {}

# TODO: re-enable cache when poetry-core upgrade is completed
self.search_for = functools.lru_cache(
maxsize=128
if metadata.version("poetry-core") # type: ignore[no-untyped-call]
!= "1.1.0a7"
else 0
)(self._search_for)
self.search_for = functools.lru_cache(maxsize=128)(self._search_for)
abn marked this conversation as resolved.
Show resolved Hide resolved

def _search_for(self, dependency: Dependency) -> list[DependencyPackage]:
key = (
Expand Down
4 changes: 2 additions & 2 deletions src/poetry/packages/locker.py
Expand Up @@ -309,7 +309,7 @@ def get_project_dependencies(
# Put higher versions first so that we prefer them.
for packages in packages_by_name.values():
packages.sort(
key=lambda package: package.version, # type: ignore[no-any-return]
key=lambda package: package.version,
reverse=True,
)

Expand Down Expand Up @@ -493,7 +493,7 @@ def _dump_package(self, package: Package) -> dict[str, Any]:
dependencies: dict[str, list[Any]] = {}
for dependency in sorted(
package.requires,
key=lambda d: d.name, # type: ignore[no-any-return]
key=lambda d: d.name,
):
if dependency.pretty_name not in dependencies:
dependencies[dependency.pretty_name] = []
Expand Down
2 changes: 1 addition & 1 deletion src/poetry/poetry.py
Expand Up @@ -20,7 +20,7 @@
from poetry.repositories.pool import Pool


class Poetry(BasePoetry): # type: ignore[misc]
class Poetry(BasePoetry):

VERSION = __version__

Expand Down
10 changes: 0 additions & 10 deletions src/poetry/puzzle/provider.py
Expand Up @@ -236,16 +236,6 @@ def search_for_vcs(self, dependency: VCSDependency) -> list[Package]:
Basically, we clone the repository in a temporary directory
and get the information we need by checking out the specified reference.
"""
# TODO: remove explicit subdirectory check once poetry-core is updated
# we ensure subdirectory match here as workaround until poetry-core is updated
# to >1.1.0a7
if (
dependency in self._deferred_cache
and self._deferred_cache[dependency].source_subdirectory
== dependency.source_subdirectory
):
return [self._deferred_cache[dependency]]

package = self.get_package_from_vcs(
dependency.vcs,
dependency.source,
Expand Down
2 changes: 1 addition & 1 deletion src/poetry/puzzle/solver.py
Expand Up @@ -141,7 +141,7 @@ def _solve(
)
for dependency_packages in locked.values():
dependency_packages.sort(
key=lambda p: p.package.version, # type: ignore[no-any-return]
key=lambda p: p.package.version,
reverse=True,
)

Expand Down
10 changes: 0 additions & 10 deletions tests/compat.py
Expand Up @@ -10,13 +10,3 @@
from typing import Protocol # nopycln: import
except ImportError:
from typing_extensions import Protocol # noqa: F401, TC002

from poetry.core.semver.helpers import parse_constraint
from poetry.core.semver.version import Version

from poetry.utils._compat import metadata


is_poetry_core_1_1_0a7_compat = not parse_constraint(">1.1.0a7").allows(
Version.parse(metadata.version("poetry-core"))
)
2 changes: 1 addition & 1 deletion tests/console/commands/plugin/test_show.py
Expand Up @@ -43,7 +43,7 @@ def plugin_package() -> Package:

@pytest.fixture()
def plugin_distro(plugin_package: Package) -> Distribution:
return Distribution(plugin_package.name, plugin_package.version.to_string(True))
return Distribution(plugin_package.name, plugin_package.version.to_string())


@pytest.mark.parametrize("entrypoint_name", ["poetry-plugin", "not-package-name"])
Expand Down
7 changes: 0 additions & 7 deletions tests/console/commands/test_add.py
Expand Up @@ -10,7 +10,6 @@
from poetry.core.semver.version import Version

from poetry.repositories.legacy_repository import LegacyRepository
from tests.compat import is_poetry_core_1_1_0a7_compat
from tests.helpers import get_dependency
from tests.helpers import get_package

Expand Down Expand Up @@ -993,9 +992,6 @@ def test_add_chooses_prerelease_if_only_prereleases_are_available(

• Installing foo (1.2.3b1)
"""
if is_poetry_core_1_1_0a7_compat:
expected = expected.replace("^1.2.3b1", "^1.2.3-beta.1")

assert expected in tester.io.fetch_output()


Expand Down Expand Up @@ -1926,9 +1922,6 @@ def test_add_chooses_prerelease_if_only_prereleases_are_available_old_installer(

- Installing foo (1.2.3b1)
"""
if is_poetry_core_1_1_0a7_compat:
expected = expected.replace("^1.2.3b1", "^1.2.3-beta.1")

assert expected in old_tester.io.fetch_output()


Expand Down
2 changes: 2 additions & 0 deletions tests/console/commands/test_init.py
Expand Up @@ -788,6 +788,7 @@ def test_add_package_with_extras_and_whitespace(tester: CommandTester):
assert "sqlite" in result[0]["extras"]


@pytest.mark.xfail(sys.platform == "win32", reason="regression in tomlkit")
def test_init_existing_pyproject_simple(
tester: CommandTester,
source_dir: Path,
Expand All @@ -804,6 +805,7 @@ def test_init_existing_pyproject_simple(
assert f"{existing_section}\n{init_basic_toml}" in pyproject_file.read_text()


@pytest.mark.xfail(sys.platform == "win32", reason="regression in tomlkit")
def test_init_non_interactive_existing_pyproject_add_dependency(
tester: CommandTester,
source_dir: Path,
Expand Down
3 changes: 0 additions & 3 deletions tests/console/commands/test_version.py
Expand Up @@ -5,7 +5,6 @@
import pytest

from poetry.console.commands.version import VersionCommand
from tests.compat import is_poetry_core_1_1_0a7_compat


if TYPE_CHECKING:
Expand Down Expand Up @@ -53,8 +52,6 @@ def tester(command_tester_factory: CommandTesterFactory) -> CommandTester:
def test_increment_version(
version: str, rule: str, expected: str, command: VersionCommand
):
if is_poetry_core_1_1_0a7_compat:
expected = expected.replace("a", "-alpha.").replace("b", "-beta.")
assert command.increment_version(version, rule).text == expected


Expand Down
11 changes: 4 additions & 7 deletions tests/mixology/version_solver/test_dependency_cache.py
Expand Up @@ -4,7 +4,6 @@

from poetry.factory import Factory
from poetry.mixology.version_solver import DependencyCache
from tests.compat import is_poetry_core_1_1_0a7_compat
from tests.mixology.helpers import add_to_repo


Expand Down Expand Up @@ -38,9 +37,8 @@ def test_solver_dependency_cache_respects_source_type(
packages_pypi = cache.search_for(dependency_pypi)
packages_git = cache.search_for(dependency_git)

if not is_poetry_core_1_1_0a7_compat:
assert cache.search_for.cache_info().hits == 2
assert cache.search_for.cache_info().currsize == 2
assert cache.search_for.cache_info().hits == 2
assert cache.search_for.cache_info().currsize == 2

assert len(packages_pypi) == len(packages_git) == 1
assert packages_pypi != packages_git
Expand Down Expand Up @@ -95,9 +93,8 @@ def test_solver_dependency_cache_respects_subdirectories(
packages_one = cache.search_for(dependency_one)
packages_one_copy = cache.search_for(dependency_one_copy)

if not is_poetry_core_1_1_0a7_compat:
assert cache.search_for.cache_info().hits == 2
assert cache.search_for.cache_info().currsize == 2
assert cache.search_for.cache_info().hits == 2
assert cache.search_for.cache_info().currsize == 2

assert len(packages_one) == len(packages_one_copy) == 1

Expand Down
6 changes: 1 addition & 5 deletions tests/puzzle/test_solver.py
Expand Up @@ -22,7 +22,6 @@
from poetry.repositories.pool import Pool
from poetry.repositories.repository import Repository
from poetry.utils.env import MockEnv
from tests.compat import is_poetry_core_1_1_0a7_compat
from tests.helpers import get_dependency
from tests.helpers import get_package
from tests.repositories.test_legacy_repository import (
Expand Down Expand Up @@ -1384,10 +1383,7 @@ def test_solver_duplicate_dependencies_different_sources_types_are_preserved(

assert len(complete_package.all_requires) == 2

if is_poetry_core_1_1_0a7_compat:
pypi, git = complete_package.all_requires
else:
git, pypi = complete_package.all_requires
git, pypi = complete_package.all_requires

assert isinstance(pypi, Dependency)
assert pypi == dependency_pypi
Expand Down
5 changes: 1 addition & 4 deletions tests/utils/test_dependency_specification.py
Expand Up @@ -8,7 +8,6 @@
from deepdiff import DeepDiff

from poetry.utils.dependency_specification import parse_dependency_specification
from tests.compat import is_poetry_core_1_1_0a7_compat


if TYPE_CHECKING:
Expand Down Expand Up @@ -75,9 +74,7 @@
"name": "name",
"markers": 'python_version == "2.7"',
"url": "http://foo.com",
**(
{} if is_poetry_core_1_1_0a7_compat else {"extras": ["fred", "bar"]}
),
"extras": ["fred", "bar"],
},
),
(
Expand Down