File tree Expand file tree Collapse file tree 3 files changed +45
-4
lines changed
Expand file tree Collapse file tree 3 files changed +45
-4
lines changed Original file line number Diff line number Diff line change @@ -347,7 +347,7 @@ def _configure_package_dependencies(
347347 cls ._add_package_group_dependencies (
348348 package = package ,
349349 group = group ,
350- dependencies = group_config [ "dependencies" ] ,
350+ dependencies = group_config . get ( "dependencies" , {}) ,
351351 )
352352
353353 for group_name , group_config in tool_poetry ["group" ].items ():
Original file line number Diff line number Diff line change 171171 "^[a-zA-Z-_.0-9]+$" : {
172172 "type" : " object" ,
173173 "description" : " This represents a single dependency group" ,
174- "required" : [
175- " dependencies"
174+ "anyOf" : [
175+ {
176+ "required" : [
177+ " dependencies"
178+ ]
179+ },
180+ {
181+ "required" : [
182+ " include-groups"
183+ ]
184+ }
176185 ],
177186 "properties" : {
178187 "optional" : {
Original file line number Diff line number Diff line change @@ -1153,5 +1153,37 @@ def test_create_poetry_with_unknown_nested_dependency_groups(
11531153 with pytest .raises (
11541154 ValueError , match = "Group 'dev' includes group 'testing' which is not defined"
11551155 ):
1156- _ = Factory ().create_poetry (fixtures_dir / "project_with_unknown_nested_group" )
11571156 _ = Factory ().create_poetry (temporary_directory )
1157+
1158+
1159+ def test_create_poetry_with_included_groups_only (temporary_directory : Path ) -> None :
1160+ pyproject_toml = temporary_directory / "pyproject.toml"
1161+ content = """\
1162+ [project]
1163+ name = "my-package"
1164+ version = "1.2.3"
1165+
1166+ [tool.poetry.group.lint.dependencies]
1167+ black = "*"
1168+
1169+ [tool.poetry.group.testing.dependencies]
1170+ pytest = "*"
1171+
1172+ [tool.poetry.group.all]
1173+ include-groups = [
1174+ "lint",
1175+ "testing",
1176+ ]
1177+ """
1178+ pyproject_toml .write_text (content )
1179+
1180+ poetry = Factory ().create_poetry (temporary_directory )
1181+ assert len (poetry .package .all_requires ) == 4
1182+ assert [
1183+ (dep .name , "," .join (dep .groups )) for dep in poetry .package .all_requires
1184+ ] == [
1185+ ("black" , "lint" ),
1186+ ("pytest" , "testing" ),
1187+ ("black" , "all" ),
1188+ ("pytest" , "all" ),
1189+ ]
You can’t perform that action at this time.
0 commit comments