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
44f9a43f
Commit
44f9a43f
authored
May 29, 2022
by
Randy Döring
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
locker: sort by source type, url, subdirectory and reference
parent
a8f6b5b5
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
2 deletions
+57
-2
src/poetry/packages/locker.py
+12
-1
tests/packages/test_locker.py
+45
-1
No files found.
src/poetry/packages/locker.py
View file @
44f9a43f
...
...
@@ -483,7 +483,18 @@ class Locker:
def
_lock_packages
(
self
,
packages
:
list
[
Package
])
->
list
[
dict
[
str
,
Any
]]:
locked
=
[]
for
package
in
sorted
(
packages
,
key
=
lambda
x
:
(
x
.
name
,
x
.
version
)):
for
package
in
sorted
(
packages
,
key
=
lambda
x
:
(
x
.
name
,
x
.
version
,
x
.
source_type
or
""
,
x
.
source_url
or
""
,
x
.
source_subdirectory
or
""
,
x
.
source_reference
or
""
,
x
.
source_resolved_reference
or
""
,
),
):
spec
=
self
.
_dump_package
(
package
)
locked
.
append
(
spec
)
...
...
tests/packages/test_locker.py
View file @
44f9a43f
...
...
@@ -55,7 +55,26 @@ def test_lock_file_data_is_ordered(locker: Locker, root: ProjectPackage):
source_reference
=
"develop"
,
source_resolved_reference
=
"123456"
,
)
packages
=
[
package_a2
,
package_a
,
get_package
(
"B"
,
"1.2"
),
package_git
]
package_url_linux
=
Package
(
"url-package"
,
"1.0"
,
source_type
=
"url"
,
source_url
=
"https://example.org/url-package-1.0-cp39-manylinux_2_17_x86_64.whl"
,
)
package_url_win32
=
Package
(
"url-package"
,
"1.0"
,
source_type
=
"url"
,
source_url
=
"https://example.org/url-package-1.0-cp39-win_amd64.whl"
,
)
packages
=
[
package_a2
,
package_a
,
get_package
(
"B"
,
"1.2"
),
package_git
,
package_url_win32
,
package_url_linux
,
]
locker
.
set_lock_data
(
root
,
packages
)
...
...
@@ -105,6 +124,30 @@ url = "https://github.com/python-poetry/poetry.git"
reference = "develop"
resolved_reference = "123456"
[[package]]
name = "url-package"
version = "1.0"
description = ""
category = "main"
optional = false
python-versions = "*"
[package.source]
type = "url"
url = "https://example.org/url-package-1.0-cp39-manylinux_2_17_x86_64.whl"
[[package]]
name = "url-package"
version = "1.0"
description = ""
category = "main"
optional = false
python-versions = "*"
[package.source]
type = "url"
url = "https://example.org/url-package-1.0-cp39-win_amd64.whl"
[metadata]
lock-version = "1.1"
python-versions = "*"
...
...
@@ -118,6 +161,7 @@ A = [
]
B = []
git-package = []
url-package = []
"""
assert
content
==
expected
...
...
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