Skip to content

Commit

Permalink
Add support for building pinned artifacts
Browse files Browse the repository at this point in the history
This change allows poetry projects to be configured via pyproject.toml
to optionally enable version pinning and also to include nested
dependencies for application wheels.
  • Loading branch information
abn committed Sep 22, 2020
1 parent d5bb41a commit 064dc9d
Show file tree
Hide file tree
Showing 9 changed files with 545 additions and 12 deletions.
26 changes: 26 additions & 0 deletions poetry/core/json/schemas/poetry-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -578,6 +578,9 @@
},
"script": {
"$ref": "#/definitions/build-script"
},
"metadata": {
"$ref": "#/definitions/build-metadata"
}
}
},
Expand All @@ -586,6 +589,29 @@
{"$ref": "#/definitions/build-script"},
{"$ref": "#/definitions/build-config"}
]
},
"build-metadata-dependencies": {
"type": "object",
"description": "Package dependency metadata configuration",
"properties": {
"lock": {
"type": "boolean",
"description": "Lock (pin) all dependencies",
"default": false
},
"nested": {
"type": "boolean",
"description": "Include nested dependencies",
"default": false
}
}
},
"build-metadata": {
"type": "object",
"description": "Build metadata configuration",
"properties": {
"dependencies": {"$ref": "#/definitions/build-metadata-dependencies"}
}
}
}
}
Empty file added poetry/core/lock/__init__.py
Empty file.
11 changes: 11 additions & 0 deletions poetry/core/lock/categories.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from enum import Enum


class LockCategory(Enum):
MAIN = "main"
DEV = "dev"

def __eq__(self, other):
if not isinstance(other, Enum):
return self.value == other
super(LockCategory, self).__eq__(other)
Loading

0 comments on commit 064dc9d

Please sign in to comment.