[build-system]
requires = ["setuptools>=61.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "rhodecode-vcsserver"
description = "Version Control System Server for RhodeCode"
authors = [
    {name = "RhodeCode GmbH", email = "support@rhodecode.com"},
]

license = {text = "GPL V3"}
requires-python = ">=3.10"
dynamic = ["version", "readme", "dependencies", "optional-dependencies"]
classifiers = [
    'Development Status :: 6 - Mature',
    'Intended Audience :: Developers',
    'Operating System :: OS Independent',
    'Topic :: Software Development :: Version Control',
    'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
    'Programming Language :: Python :: 3.10',
]

[project.entry-points."paste.app_factory"]
main = "vcsserver.http_main:main"


[tool.setuptools]
packages = ["vcsserver"]

[tool.setuptools.dynamic]
readme = {file = ["README.rst"], content-type = "text/rst"}
version = {file = "vcsserver/VERSION"}
dependencies = {file = ["requirements.txt"]}
optional-dependencies.tests = {file = ["requirements_test.txt"]}

[tool.ruff]
select = [
    # Pyflakes
    "F",
    # Pycodestyle
    "E",
    "W",
    # isort
    "I001"
]
ignore = [
    "E501",  # line too long, handled by black
]
# Same as Black.
line-length = 120


[tool.ruff.isort]
known-first-party = ["vcsserver"]

[tool.black]
line-length = 120
target-version = ['py310', 'py311']
