Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
python-poetry
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
python-poetry
Commits
78963e69
Unverified
Commit
78963e69
authored
Jan 02, 2019
by
Sébastien Eustace
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix path resolution for transitive file dependencies
#702
parent
5643d1d5
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
110 additions
and
1 deletions
+110
-1
CHANGELOG.md
+1
-0
poetry/puzzle/provider.py
+3
-1
tests/fixtures/directory/project_with_transitive_file_dependencies/project_with_transitive_file_dependencies/__init__.py
+0
-0
tests/fixtures/directory/project_with_transitive_file_dependencies/pyproject.toml
+12
-0
tests/fixtures/directory/project_with_transitive_file_dependencies/setup.py
+24
-0
tests/installation/fixtures/with-file-dependency-transitive.test
+48
-0
tests/installation/test_installer.py
+22
-0
No files found.
CHANGELOG.md
View file @
78963e69
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
-
Fixed an error when adding packages with invalid versions.
-
Fixed an error when adding packages with invalid versions.
-
Fixed an error when resolving directory dependencies with no sub dependencies.
-
Fixed an error when resolving directory dependencies with no sub dependencies.
-
Fixed an error when locking packages with no description.
-
Fixed an error when locking packages with no description.
-
Fixed path resolution for transitive file dependencies.
## [0.12.10] - 2018-11-22
## [0.12.10] - 2018-11-22
...
...
poetry/puzzle/provider.py
View file @
78963e69
...
@@ -610,7 +610,9 @@ class Provider:
...
@@ -610,7 +610,9 @@ class Provider:
)
)
)
)
if
package
.
dependency
.
is_directory
()
and
dep
.
is_directory
():
if
(
package
.
dependency
.
is_directory
()
or
package
.
dependency
.
is_file
())
and
(
dep
.
is_directory
()
or
dep
.
is_file
()
):
if
dep
.
path
.
as_posix
()
.
startswith
(
package
.
source_url
):
if
dep
.
path
.
as_posix
()
.
startswith
(
package
.
source_url
):
relative
=
(
Path
(
package
.
source_url
)
/
dep
.
path
)
.
relative_to
(
relative
=
(
Path
(
package
.
source_url
)
/
dep
.
path
)
.
relative_to
(
package
.
source_url
package
.
source_url
...
...
tests/fixtures/directory/project_with_transitive_file_dependencies/project_with_transitive_file_dependencies/__init__.py
0 → 100644
View file @
78963e69
tests/fixtures/directory/project_with_transitive_file_dependencies/pyproject.toml
0 → 100644
View file @
78963e69
[tool.poetry]
name
=
"project-with-transitive-file-dependencies"
version
=
"1.2.3"
description
=
"This is a description"
authors
=
[
"Your Name <you@example.com>"
]
license
=
"MIT"
[tool.poetry.dependencies]
python
=
"*"
demo
=
{path
=
"../../distributions/demo-0.1.0-py2.py3-none-any.whl"
}
[tool.poetry.dev-dependencies]
tests/fixtures/directory/project_with_transitive_file_dependencies/setup.py
0 → 100644
View file @
78963e69
# -*- coding: utf-8 -*-
from
distutils.core
import
setup
packages
=
[
"project_with_extras"
]
package_data
=
{
""
:
[
"*"
]}
extras_require
=
{
"extras_a"
:
[
"pendulum>=1.4.4"
],
"extras_b"
:
[
"cachy>=0.2.0"
]}
setup_kwargs
=
{
"name"
:
"project-with-extras"
,
"version"
:
"1.2.3"
,
"description"
:
"This is a description"
,
"long_description"
:
None
,
"author"
:
"Your Name"
,
"author_email"
:
"you@example.com"
,
"url"
:
None
,
"packages"
:
packages
,
"package_data"
:
package_data
,
"extras_require"
:
extras_require
,
}
setup
(
**
setup_kwargs
)
tests/installation/fixtures/with-file-dependency-transitive.test
0 → 100644
View file @
78963e69
[[
package
]]
category
=
"main"
description
=
""
name
=
"demo"
optional
=
false
python
-
versions
=
">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version
=
"0.1.0"
[
package
.
dependencies
]
pendulum
=
">=1.4.4"
[
package
.
source
]
reference
=
""
type
=
"file"
url
=
"tests/fixtures/directory/project_with_transitive_file_dependencies/../../distributions/demo-0.1.0-py2.py3-none-any.whl"
[[
package
]]
category
=
"main"
description
=
""
name
=
"pendulum"
optional
=
false
python
-
versions
=
"*"
version
=
"1.4.4"
[[
package
]]
category
=
"main"
description
=
""
name
=
"project-with-transitive-file-dependencies"
optional
=
false
python
-
versions
=
"*"
version
=
"1.2.3"
[
package
.
dependencies
]
demo
=
"*"
[
package
.
source
]
reference
=
""
type
=
"directory"
url
=
"tests/fixtures/directory/project_with_transitive_file_dependencies"
[
metadata
]
content
-
hash
=
"123456789"
python
-
versions
=
"*"
[
metadata
.
hashes
]
demo
=
[
"70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a"
]
pendulum
=
[]
project
-
with
-
transitive
-
file
-
dependencies
=
[]
tests/installation/test_installer.py
View file @
78963e69
...
@@ -709,6 +709,28 @@ def test_run_installs_with_local_poetry_directory_transitive(
...
@@ -709,6 +709,28 @@ def test_run_installs_with_local_poetry_directory_transitive(
assert
len
(
installer
.
installer
.
installs
)
==
2
assert
len
(
installer
.
installer
.
installs
)
==
2
def
test_run_installs_with_local_poetry_file_transitive
(
installer
,
locker
,
repo
,
package
,
tmpdir
):
file_path
=
Path
(
"tests/fixtures/directory/project_with_transitive_file_dependencies/"
)
package
.
add_dependency
(
"project-with-transitive-file-dependencies"
,
{
"path"
:
str
(
file_path
)}
)
repo
.
add_package
(
get_package
(
"pendulum"
,
"1.4.4"
))
repo
.
add_package
(
get_package
(
"cachy"
,
"0.2.0"
))
installer
.
run
()
expected
=
fixture
(
"with-file-dependency-transitive"
)
assert
locker
.
written_data
==
expected
assert
len
(
installer
.
installer
.
installs
)
==
3
def
test_run_installs_with_local_setuptools_directory
(
def
test_run_installs_with_local_setuptools_directory
(
installer
,
locker
,
repo
,
package
,
tmpdir
installer
,
locker
,
repo
,
package
,
tmpdir
):
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment