Skip to content

Commit

Permalink
Fix resolving directory dependencies with no sub dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
sdispater committed Dec 20, 2018
1 parent 1ebd629 commit 92b85f2
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

- Fixed the way packages information are retrieved for legacy repositories.
- Fixed an error when adding packages with invalid versions.
- Fixed an error when resolving directory dependencies with no sub dependencies.


## [0.12.10] - 2018-11-22
Expand Down
6 changes: 3 additions & 3 deletions poetry/utils/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import tempfile

from contextlib import contextmanager
from typing import List
from typing import Optional
from typing import Union

Expand Down Expand Up @@ -41,7 +42,7 @@ def temporary_directory(*args, **kwargs):
shutil.rmtree(name)


def parse_requires(requires): # type: (str) -> Union[list, None]
def parse_requires(requires): # type: (str) -> List[str]
lines = requires.split("\n")

requires_dist = []
Expand Down Expand Up @@ -79,8 +80,7 @@ def parse_requires(requires): # type: (str) -> Union[list, None]

requires_dist.append(line)

if requires_dist:
return requires_dist
return requires_dist


def get_http_basic_auth(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__version__ = "1.2.3"
17 changes: 17 additions & 0 deletions tests/fixtures/git/github.com/demo/no-dependencies/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
from setuptools import setup


kwargs = dict(
name="demo",
license="MIT",
version="0.1.2",
description="Demo project.",
author="Sébastien Eustace",
author_email="[email protected]",
url="https://github.com/demo/demo",
packages=["demo"],
)


setup(**kwargs)
22 changes: 22 additions & 0 deletions tests/puzzle/test_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,28 @@ def test_search_for_directory_setup_read_setup_with_extras(provider, mocker):
}


@pytest.mark.skipif(not PY35, reason="AST parsing does not work for Python <3.4")
def test_search_for_directory_setup_read_setup_with_no_dependencies(provider, mocker):
mocker.patch("poetry.utils.env.Env.get", return_value=MockEnv())

dependency = DirectoryDependency(
"demo",
Path(__file__).parent.parent
/ "fixtures"
/ "git"
/ "github.com"
/ "demo"
/ "no-dependencies",
)

package = provider.search_for_directory(dependency)[0]

assert package.name == "demo"
assert package.version.text == "0.1.2"
assert package.requires == []
assert package.extras == {}


def test_search_for_directory_poetry(provider):
dependency = DirectoryDependency(
"demo", Path(__file__).parent.parent / "fixtures" / "project_with_extras"
Expand Down

0 comments on commit 92b85f2

Please sign in to comment.