Skip to content

Commit

Permalink
deprecate tool.poetry.dev-dependencies in favor of `tool.poetry.gro…
Browse files Browse the repository at this point in the history
…up.dev.dependencies`
  • Loading branch information
radoering committed Aug 31, 2024
1 parent f76e090 commit a03c878
Show file tree
Hide file tree
Showing 27 changed files with 44 additions and 28 deletions.
10 changes: 10 additions & 0 deletions src/poetry/core/factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ def create_poetry(

raise RuntimeError("The Poetry configuration is invalid:\n" + message)

for warning in check_result["warnings"]:
logger.warning(warning)

# Load package
# If name or version were missing in package mode, we would have already
# raised an error, so we can safely assume they might only be missing
Expand Down Expand Up @@ -403,6 +406,13 @@ def validate(

result["errors"] += validation_errors

if "dev-dependencies" in config:
result["warnings"].append(
'The "poetry.dev-dependencies" section is deprecated'
" and will be removed in a future version."
' Use "poetry.group.dev.dependencies" instead.'
)

if strict:
# If strict, check the file more thoroughly
if "dependencies" in config:
Expand Down
2 changes: 1 addition & 1 deletion tests/fixtures/complete.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ pendulum = { version = "^1.4", optional = true }
[tool.poetry.extras]
time = [ "pendulum" ]

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "^3.0"
pytest-cov = "^2.4"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ script = "build.py"
[tool.poetry.dependencies]
python = "^3.7"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ license = "MIT"

[tool.poetry.extras]

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
mylib = { path = "../mylib", develop = true}
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ pendulum = [
{ version = "^2.0", python = "^3.4" }
]

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
5 changes: 2 additions & 3 deletions tests/json/test_poetry_schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def base_object() -> dict[str, Any]:
"description": "Some description.",
"authors": ["Your Name <[email protected]>"],
"dependencies": {"python": "^3.6"},
"dev-dependencies": {},
"group": {"dev": {"dependencies": {}}},
}


Expand All @@ -35,7 +35,6 @@ def multi_url_object() -> dict[str, Any]:
{"path": "../foo", "platform": "darwin"},
]
},
"dev-dependencies": {},
}


Expand Down Expand Up @@ -70,7 +69,7 @@ def test_invalid_mode() -> None:

def test_path_dependencies(base_object: dict[str, Any]) -> None:
base_object["dependencies"].update({"foo": {"path": "../foo"}})
base_object["dev-dependencies"].update({"foo": {"path": "../foo"}})
base_object["group"]["dev"]["dependencies"].update({"foo": {"path": "../foo"}})

assert len(validate_object(base_object, "poetry-schema")) == 0

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ cachy = { version = "^0.2.0", extras = ["msgpack"] }

pendulum = { version = "^1.4", optional = true }

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
2 changes: 1 addition & 1 deletion tests/masonry/builders/fixtures/comma_file/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ authors = [
[tool.poetry.dependencies]
python = "^3.6"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]

2 changes: 1 addition & 1 deletion tests/masonry/builders/fixtures/complete/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ version = "^1.4"
markers = 'python_version ~= "2.7" and sys_platform == "win32" or python_version in "3.4 3.5"'
optional = true

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ cachy = { version = "^0.2.0", extras = ["msgpack"] }

pendulum = { version = "^1.4", optional = true }

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ cachy = { version = "^0.2.0", extras = ["msgpack"] }

pendulum = { version = "^1.4", optional = true }

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ cachy = { version = "^0.2.0", extras = ["msgpack"] }

pendulum = { version = "^1.4", optional = true }

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ python = "~2.7 || ^3.6"

[tool.poetry.extras]

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]

[tool.poetry.scripts]
my-script = "my_package:main"
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ cachy = { version = "^0.2.0", extras = ["msgpack"] }

pendulum = { version = "^1.4", optional = true }

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ exclude = [
[tool.poetry.dependencies]
python = "^3.6"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "^3.0"

[build-system]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ include = ['lib/my_package/generated.py']
[tool.poetry.dependencies]
python = "^3.8"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]

[build-system]
requires = ["poetry-core>=1.0.0"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ cachy = { version = "^0.2.0", extras = ["msgpack"] }

pendulum = { version = "^1.4", optional = true }

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ version = "^1.4"
markers= 'python_version ~= "2.7" and sys_platform == "win32" or python_version in "3.4 3.5"'
optional = true

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ readme = "README.rst"
[tool.poetry.dependencies]
python = "^3.6"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]

[tool.poetry.extras]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ readme = "README.rst"
[tool.poetry.dependencies]
python = "^3.6"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]

[tool.poetry.extras]
time = []
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ readme = "README.rst"
[tool.poetry.dependencies]
python = "^3.6"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]

[tool.poetry.extras]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ readme = "README.rst"
[tool.poetry.dependencies]
python = "^3.6"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]

[tool.poetry.extras]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ readme = "README.rst"
[tool.poetry.dependencies]
python = "^3.6"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]

[tool.poetry.extras]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ cachy = { version = "^0.2.0", extras = ["msgpack"] }

pendulum = { version = "^1.4", optional = true }

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ authors = ["Awesome Hacker <[email protected]>"]
[tool.poetry.dependencies]
python = "^3.6"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
bogus = { path = "../only/in/dev", develop = true }
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ cachy = { version = "^0.2.0", extras = ["msgpack"] }

pendulum = { version = "^1.4", optional = true }

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
pytest = "~3.4"

[tool.poetry.extras]
Expand Down
9 changes: 8 additions & 1 deletion tests/test_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -411,11 +411,18 @@ def test_create_poetry_with_invalid_dev_dependencies(caplog: LogCaptureFixture)
assert any("dev" in r.groups for r in poetry.package.all_requires)


def test_create_poetry_with_groups_and_legacy_dev() -> None:
def test_create_poetry_with_groups_and_legacy_dev(caplog: LogCaptureFixture) -> None:
assert not caplog.records

poetry = Factory().create_poetry(
fixtures_dir / "project_with_groups_and_legacy_dev"
)

assert len(caplog.records) == 1
record = caplog.records[0]
assert record.levelname == "WARNING"
assert '"poetry.dev-dependencies" section is deprecated' in record.message

package = poetry.package
dependencies = package.all_requires

Expand Down

0 comments on commit a03c878

Please sign in to comment.