Loading CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ ### Fixed - Fixed Python version retrieval inside virtualenvs. - Fixed optional dependencies being set as required in sdist. ## [0.6.3] - 2018-03-20 Loading poetry/masonry/builders/sdist.py +14 −7 Changes for poetry/masonry/builders/sdist.py: 14 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -130,7 +130,10 @@ class SdistBuilder(Builder): else: extra.append("'py_modules': {!r},".format(self._module.name)) dependencies, extras = self.convert_dependencies(self._package.requires) dependencies, extras = self.convert_dependencies( self._package, self._package.requires ) if dependencies: before.append("install_requires = \\\n{}\n".format(pformat(dependencies))) extra.append("'install_requires': install_requires,") Loading Loading @@ -213,19 +216,23 @@ class SdistBuilder(Builder): @classmethod def convert_dependencies(cls, package, dependencies: List[Dependency]): main = [] extras = [] extras = defaultdict(list) for dependency in dependencies: requirement = dependency.to_pep_508() if dependency.is_optional(): for extra_name, reqs in package.extras.items(): for req in reqs: if req.name == dependency.name: extras[extra_name].append(dependency.to_pep_508()) continue if ';' in requirement: extras.append(requirement) else: requirement = dependency.to_pep_508() main.append(requirement) return main, extras return main, dict(extras) @classmethod def clean_tarinfo(cls, tar_info): Loading tests/masonry/builders/fixtures/complete/pyproject.toml +4 −0 Changes for tests/masonry/builders/fixtures/complete/pyproject.toml: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -21,9 +21,13 @@ keywords = ["packaging", "dependency", "poetry"] python = "^3.6" cleo = "^0.6" pendulum = { version = "^1.4", optional = true } [tool.poetry.dev-dependencies] pytest = "~3.4" [tool.poetry.extras] time = ["pendulum"] [tool.poetry.scripts] my-script = "my_package:main" Loading tests/masonry/builders/test_sdist.py +26 −11 Changes for tests/masonry/builders/test_sdist.py: 26 added lines, 11 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ from pathlib import Path from poetry import Poetry from poetry.io import NullIO from poetry.masonry.builders.sdist import SdistBuilder from poetry.packages import Package from poetry.utils.venv import NullVenv from tests.helpers import get_dependency Loading Loading @@ -36,35 +37,44 @@ def project(name): def test_convert_dependencies(): result = SdistBuilder.convert_dependencies([ package = Package('foo', '1.2.3') result = SdistBuilder.convert_dependencies( package, [ get_dependency('A', '^1.0'), get_dependency('B', '~1.0'), get_dependency('C', '1.2.3'), ]) ] ) main = [ 'A (>=1.0.0.0,<2.0.0.0)', 'B (>=1.0.0.0,<1.1.0.0)', 'C (==1.2.3.0)', ] extras = [] extras = {} assert result == (main, extras) dependency_with_python = get_dependency('A', '^1.0') dependency_with_python.python_versions = '^3.4' package = Package('foo', '1.2.3') package.extras = { 'bar': [get_dependency('A')] } result = SdistBuilder.convert_dependencies([ dependency_with_python, result = SdistBuilder.convert_dependencies( package, [ get_dependency('A', '>=1.2', optional=True), get_dependency('B', '~1.0'), get_dependency('C', '1.2.3'), ]) ] ) main = [ 'B (>=1.0.0.0,<1.1.0.0)', 'C (==1.2.3.0)', ] extras = [ 'A (>=1.0.0.0,<2.0.0.0); python_version>="3.4.0.0" and python_version<"4.0.0.0"', ] extras = { 'bar': ['A (>=1.2.0.0)'] } assert result == (main, extras) Loading Loading @@ -93,6 +103,11 @@ def test_make_setup(): 'my-2nd-script = my_package:main2', ] } assert ns['extras_require'] == { 'time': [ 'pendulum (>=1.4.0.0,<2.0.0.0)' ] } def test_find_files_to_add(): Loading Loading
CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ ### Fixed - Fixed Python version retrieval inside virtualenvs. - Fixed optional dependencies being set as required in sdist. ## [0.6.3] - 2018-03-20 Loading
poetry/masonry/builders/sdist.py +14 −7 Changes for poetry/masonry/builders/sdist.py: 14 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -130,7 +130,10 @@ class SdistBuilder(Builder): else: extra.append("'py_modules': {!r},".format(self._module.name)) dependencies, extras = self.convert_dependencies(self._package.requires) dependencies, extras = self.convert_dependencies( self._package, self._package.requires ) if dependencies: before.append("install_requires = \\\n{}\n".format(pformat(dependencies))) extra.append("'install_requires': install_requires,") Loading Loading @@ -213,19 +216,23 @@ class SdistBuilder(Builder): @classmethod def convert_dependencies(cls, package, dependencies: List[Dependency]): main = [] extras = [] extras = defaultdict(list) for dependency in dependencies: requirement = dependency.to_pep_508() if dependency.is_optional(): for extra_name, reqs in package.extras.items(): for req in reqs: if req.name == dependency.name: extras[extra_name].append(dependency.to_pep_508()) continue if ';' in requirement: extras.append(requirement) else: requirement = dependency.to_pep_508() main.append(requirement) return main, extras return main, dict(extras) @classmethod def clean_tarinfo(cls, tar_info): Loading
tests/masonry/builders/fixtures/complete/pyproject.toml +4 −0 Changes for tests/masonry/builders/fixtures/complete/pyproject.toml: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -21,9 +21,13 @@ keywords = ["packaging", "dependency", "poetry"] python = "^3.6" cleo = "^0.6" pendulum = { version = "^1.4", optional = true } [tool.poetry.dev-dependencies] pytest = "~3.4" [tool.poetry.extras] time = ["pendulum"] [tool.poetry.scripts] my-script = "my_package:main" Loading
tests/masonry/builders/test_sdist.py +26 −11 Changes for tests/masonry/builders/test_sdist.py: 26 added lines, 11 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ from pathlib import Path from poetry import Poetry from poetry.io import NullIO from poetry.masonry.builders.sdist import SdistBuilder from poetry.packages import Package from poetry.utils.venv import NullVenv from tests.helpers import get_dependency Loading Loading @@ -36,35 +37,44 @@ def project(name): def test_convert_dependencies(): result = SdistBuilder.convert_dependencies([ package = Package('foo', '1.2.3') result = SdistBuilder.convert_dependencies( package, [ get_dependency('A', '^1.0'), get_dependency('B', '~1.0'), get_dependency('C', '1.2.3'), ]) ] ) main = [ 'A (>=1.0.0.0,<2.0.0.0)', 'B (>=1.0.0.0,<1.1.0.0)', 'C (==1.2.3.0)', ] extras = [] extras = {} assert result == (main, extras) dependency_with_python = get_dependency('A', '^1.0') dependency_with_python.python_versions = '^3.4' package = Package('foo', '1.2.3') package.extras = { 'bar': [get_dependency('A')] } result = SdistBuilder.convert_dependencies([ dependency_with_python, result = SdistBuilder.convert_dependencies( package, [ get_dependency('A', '>=1.2', optional=True), get_dependency('B', '~1.0'), get_dependency('C', '1.2.3'), ]) ] ) main = [ 'B (>=1.0.0.0,<1.1.0.0)', 'C (==1.2.3.0)', ] extras = [ 'A (>=1.0.0.0,<2.0.0.0); python_version>="3.4.0.0" and python_version<"4.0.0.0"', ] extras = { 'bar': ['A (>=1.2.0.0)'] } assert result == (main, extras) Loading Loading @@ -93,6 +103,11 @@ def test_make_setup(): 'my-2nd-script = my_package:main2', ] } assert ns['extras_require'] == { 'time': [ 'pendulum (>=1.4.0.0,<2.0.0.0)' ] } def test_find_files_to_add(): Loading