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
be679d00
Unverified
Commit
be679d00
authored
Jun 14, 2018
by
Sébastien Eustace
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix system requirements in lock file for sub dependencies
parent
032cfa98
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
29 additions
and
18 deletions
+29
-18
CHANGELOG.md
+1
-0
poetry/puzzle/solver.py
+18
-14
tests/installation/fixtures/update-with-locked-extras.test
+1
-1
tests/installation/fixtures/with-duplicate-dependencies.test
+6
-0
tests/installation/fixtures/with-optional-dependencies.test
+2
-2
tests/puzzle/test_solver.py
+1
-1
No files found.
CHANGELOG.md
View file @
be679d00
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
### Fixed
### Fixed
-
Fixed handling of duplicate dependencies with different constraints.
-
Fixed handling of duplicate dependencies with different constraints.
-
Fixed system requirements in lock file for sub dependencies.
-
Fixed detection of new prereleases.
-
Fixed detection of new prereleases.
-
Fixed unsafe packages being locked.
-
Fixed unsafe packages being locked.
-
Fixed versions detection in custom repositories.
-
Fixed versions detection in custom repositories.
...
...
poetry/puzzle/solver.py
View file @
be679d00
...
@@ -149,25 +149,29 @@ class Solver:
...
@@ -149,25 +149,29 @@ class Solver:
return
packages
return
packages
def
_build_graph
(
self
,
package
,
packages
,
previous
=
None
,
dep
=
None
):
def
_build_graph
(
self
,
package
,
packages
,
previous
=
None
,
previous_dep
=
None
,
dep
=
None
):
if
not
previous
:
if
not
previous
:
category
=
"dev"
category
=
"dev"
optional
=
True
optional
=
True
python_version
=
None
python_version
=
"*"
platform
=
None
platform
=
"*"
else
:
else
:
category
=
dep
.
category
category
=
dep
.
category
optional
=
dep
.
is_optional
()
and
not
dep
.
is_activated
()
optional
=
dep
.
is_optional
()
and
not
dep
.
is_activated
()
python_version
=
(
python_version
=
str
(
dep
.
python_versions
parse_constraint
(
previous
[
"python_version"
])
.
intersect
(
if
previous
.
python_constraint
.
allows_all
(
dep
.
python_constraint
)
previous_dep
.
python_constraint
else
previous
.
python_versions
)
)
platform
=
str
(
previous_dep
.
platform
if
GenericConstraint
.
parse
(
previous
[
"platform"
])
.
matches
(
previous_dep
.
platform_constraint
)
)
platform
=
(
and
previous_dep
.
platform
!=
"*"
dep
.
platform
else
previous
[
"platform"
]
if
previous
.
platform_constraint
.
matches
(
dep
.
platform_constraint
)
and
dep
.
platform
!=
"*"
else
previous
.
platform
)
)
graph
=
{
graph
=
{
...
@@ -179,7 +183,7 @@ class Solver:
...
@@ -179,7 +183,7 @@ class Solver:
"children"
:
[],
"children"
:
[],
}
}
if
previous
and
previous
is
not
dep
and
previous
.
name
==
dep
.
name
:
if
previous
_dep
and
previous_dep
is
not
dep
and
previous_dep
.
name
==
dep
.
name
:
return
graph
return
graph
for
dependency
in
package
.
all_requires
:
for
dependency
in
package
.
all_requires
:
...
@@ -214,7 +218,7 @@ class Solver:
...
@@ -214,7 +218,7 @@ class Solver:
continue
continue
child_graph
=
self
.
_build_graph
(
child_graph
=
self
.
_build_graph
(
pkg
,
packages
,
dependency
,
dep
or
dependency
pkg
,
packages
,
graph
,
dependency
,
dep
or
dependency
)
)
if
existing
:
if
existing
:
...
...
tests/installation/fixtures/update-with-locked-extras.test
View file @
be679d00
...
@@ -30,7 +30,7 @@ python-versions = "*"
...
@@ -30,7 +30,7 @@ python-versions = "*"
platform
=
"*"
platform
=
"*"
[
package
.
requirements
]
[
package
.
requirements
]
python
=
"
~2.7
"
python
=
"
>=2.7,<2.8
"
[[
package
]]
[[
package
]]
name
=
"D"
name
=
"D"
...
...
tests/installation/fixtures/with-duplicate-dependencies.test
View file @
be679d00
...
@@ -52,6 +52,9 @@ optional = false
...
@@ -52,6 +52,9 @@ optional = false
python
-
versions
=
"*"
python
-
versions
=
"*"
platform
=
"*"
platform
=
"*"
[
package
.
requirements
]
python
=
"<4.0"
[[
package
]]
[[
package
]]
name
=
"C"
name
=
"C"
version
=
"1.5"
version
=
"1.5"
...
@@ -61,6 +64,9 @@ optional = false
...
@@ -61,6 +64,9 @@ optional = false
python
-
versions
=
"*"
python
-
versions
=
"*"
platform
=
"*"
platform
=
"*"
[
package
.
requirements
]
python
=
">=4.0"
[
metadata
]
[
metadata
]
python
-
versions
=
"*"
python
-
versions
=
"*"
platform
=
"*"
platform
=
"*"
...
...
tests/installation/fixtures/with-optional-dependencies.test
View file @
be679d00
...
@@ -20,7 +20,7 @@ platform = "*"
...
@@ -20,7 +20,7 @@ platform = "*"
D
=
"^1.2"
D
=
"^1.2"
[
package
.
requirements
]
[
package
.
requirements
]
python
=
"
~2.7 || ^3.4
"
python
=
"
>=2.7,<2.8 || >=3.4,<4.0
"
[[
package
]]
[[
package
]]
name
=
"D"
name
=
"D"
...
@@ -32,7 +32,7 @@ python-versions = "*"
...
@@ -32,7 +32,7 @@ python-versions = "*"
platform
=
"*"
platform
=
"*"
[
package
.
requirements
]
[
package
.
requirements
]
python
=
"
~2.7 || ^3.4
"
python
=
"
>=2.7,<2.8 || >=3.4,<4.0
"
[
extras
]
[
extras
]
foo
=
[
"A"
]
foo
=
[
"A"
]
...
...
tests/puzzle/test_solver.py
View file @
be679d00
...
@@ -784,7 +784,7 @@ def test_solver_duplicate_dependencies_same_constraint(solver, repo, package):
...
@@ -784,7 +784,7 @@ def test_solver_duplicate_dependencies_same_constraint(solver, repo, package):
)
)
op
=
ops
[
0
]
op
=
ops
[
0
]
assert
op
.
package
.
requirements
==
{
"python"
:
"
~2.7
|| >=3.4"
}
assert
op
.
package
.
requirements
==
{
"python"
:
"
>=2.7,<2.8
|| >=3.4"
}
def
test_solver_duplicate_dependencies_different_constraints
(
solver
,
repo
,
package
):
def
test_solver_duplicate_dependencies_different_constraints
(
solver
,
repo
,
package
):
...
...
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