# TOML file for PyXMake as a build system.
#  
# @note: TOML file            
# Created on 20.09.2021    
# 
# @version:  1.0    
# ----------------------------------------------------------------------------------------------
# @requires:
#        - 
# 
# @change: 
#        -    
#    
# @author: garb_ma                                                     [DLR-SY,STM Braunschweig]
# ----------------------------------------------------------------------------------------------
[build-system]
requires = ["poetry-core>=1.0"]
build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "pyx-core"
version = "0.0.0dev"
description = "All core functionalities for using PyXMake as a build system"
authors = ["Garbade, Marc <marc.garbade@dlr.de>"]
license = "MIT"
readme = "README.md"
packages = [{include="PyXMake", from="src"}]
include = ["src/PyXMake/*"]
exclude = ["src/PyXMake/API/*.py",
           "src/PyXMake/Plugin/*.py",
           "src/PyXMake/**/*.git*"]
repository = "https://gitlab.dlr.de/fa_sw/stmlab/PyXMake"
documentation = "https://gitlab.dlr.de/fa_sw/stmlab/PyXMake/-/blob/master/README.md"
keywords = ["compilation", "documentation", "packaging"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Topic :: Software Development :: Build Tools",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Programming Language :: Python :: 2",
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent"
]

[tool.poetry.urls]
Changelog = "https://gitlab.dlr.de/fa_sw/stmlab/PyXMake/-/blob/master/CHANGELOG.md"

[[tool.poetry.source]]
name = "PyPI"
priority = "primary"

[[tool.poetry.source]]
name = "dlr-sy"
url = "https://gitlab.dlr.de/api/v4/groups/541/-/packages/pypi/simple"
priority = "supplemental"

[tool.poetry.dependencies]
python = "~2.7 || ^3.5"
autodocsumm =  [{version = "^0.2.6", python = "^3.7"}]
beautifulsoup4 = [{version = "^4.8",  python = "~2.7 || ^3.5,<3.7"},
                  {version = ">=4.11", python = "^3.7"}]
cmake = [{version = "^3.26,<3.27.8", python = "~2.7 || ^3.5,<3.7"},
         {version = ">=3.26", python = "^3.7"}]
contextlib2 = [{version = "^0.6", python = "~2.7 || ^3.5,<3.7"},
               {version = ">=21.6", python = "^3.7"}]
cryptography = [{version = "^3.1", python = "~2.7 || ^3.5,<3.7"},
                {version = ">=38.0", python = "^3.7"}]
distlib = [{version = ">=0.3.5"}]
dnspython = [{version = ">=2.2", python = "^3.7"}]
fastapi = [{version = ">=0.79", python = "^3.7"}]
future = [{version = ">=0.18", python = "~2.7 || ^3.5"}]
git-filter-repo = [{version = ">=2.34", python = "^3.7"}]
GitPython = [{version = "~2.1", python = "~2.7"}, 
             {version = "^3,<3.1.15", python = "~3.5"},
             {version = "^3,<3.1.19", python = "~3.6"},
             {version = ">=3.1.24", python = "^3.7"}]
httpx = [{version = "^0.24", python = "~3.7"},
         {version = ">=0.26", python = ">=3.8"}]
Jinja2 = [{version = "^3.0",  python = "~3.6"},
          {version = ">=3.1", python = "^3.7"}]
keyring = [{version = "~18.0", python = "~2.7"},
           {version = ">=19,<24.1", python = "^3.5,<3.7"},
           {version = ">=23.0", python = "^3.7"}]
markupsafe = [{version = "^2.0", python = "~3.6"},
              {version = ">=2.1", python = "^3.7"}]
numpy = [{version = "^1.16", python = "~2.7 || ~3.5"},
         {version = "^1.18", python = "~3.6"},
         {version = "^1.21", python = "~3.7"},
         {version = ">=1.22", python = "^3.8"}]
packaging = [{version = "^20.9", python = "~2.7 || ^3.5,<3.7"},
             {version = ">=21.0", python = "^3.7"}]
paramiko = [{version = ">=2.9", python = "~2.7 || ^3.5"}]
Pillow = [{version = "~6.2", python = "~2.7 || ^3.5,<3.7"},
          {version = ">=9.2", python = "^3.7"}]
pipreqs = [{version = ">=0.4", python = "~2.7 || ^3.5"}]
psutil = [{version = ">=5.8", python = "~2.7 || ^3.6"},
          {version = ">=5.8", python = "~3.5", markers = "sys_platform != 'windows'"},
          {version = ">=5.7", python = "~3.5", markers = "sys_platform == 'windows'"}]
pydantic = [{version = ">=1.8", python = "^3.7"}]
pyinstaller = [{version = ">=5.3", python = "^3.7,<3.12"}]
pytest = [{version = ">=7.1", python = "^3.7"}]
pytest-cov = [{version = ">=3,<5.0", python = "^3.7"}]
python-dateutil = [{version = ">=2.8", python = "^3.7"}]
python-multipart = [{version = ">=0.0.5", python = "^3.7"}]
pythonsed = [{version = "*", platform = "win32"}]
pywin32 = [{version = "228", python = "~2.7 || ^3.5,<3.7", platform = "win32"},
           {version = "^306", python = "^3.7", platform = "win32"}]
rapidfuzz = [{version = ">=2.15,<3.3", python = "~3.7"},
             {version = ">=3,<4.0", python = "^3.8"}]
recommonmark = [{version = ">=0.7", python = "^3.7"}]
requests = [{version = "^2.25", python = "^3.5,<3.7"}, 
            {version = ">=2.28", python = "^3.7"}]
requests-toolbelt = [{version = ">=0.8,<10", python = "~2.7 || ^3.5,<3.7"},
                     {version = ">=0.10", python = "^3.7"}]
scipy = [{version = "^1.2",   python = "~2.7 || ~3.5"},
         {version = "^1.5",   python = "~3.6"},
         {version = "^1.6",   python = "~3.7"},
         {version = "~1.8",   python = "~3.8"},
         {version = ">=1.10", python = ">=3.9,<3.13"}]
six = [{version = ">=1.15", python = "~2.7 || ^3.5"}]
sphinx = [{version = "^3.0", python = "~3.6"},
          {version = ">=5.1", python = "^3.7"}]
sphinx-rtd-theme = [{version = ">=1.0", python = "^3.7"}]
sphinxcontrib-bibtex = [{version = "^1.0", python = "~3.6"},
                        {version = ">=2.5", python = "^3.7"}]
sphinxemoji = [{version = ">=0.2", python = "^3.7"}]
starlette = [{version = ">=0.19", python = "^3.7"}]
stdlib-list = [{version = ">=0.8", python = "~2.7 || ^3.5"}]
setuptools = [{version = "^39.0", python = "~2.7"},
              {version = "^49.0", python = "~3.5"},
              {version = "^58.0", python = "~3.6"},
              {version = "^64.0", python = "~3.7"},
              {version = "^70,<74", python = "^3.8"}]
svn = [{version = ">=1.0", python = "~2.7 || ^3.5"}]
tomlkit = [{version = ">=0.5,<1", python = "~2.7 || ^3.5,<3.7"},
           {version = ">=0.12", python = "^3.7"}]
uvicorn = [{version = ">=0.17", python = "^3.7"}]
whichcraft = [{version = ">=0.6", python = "~2.7 || ^3.5"}]

# All optional dependencies
pyx-poetry = [{version = ">=1.18", python = "~2.7 || ^3.5,<3.7", optional = true},
              {version = "*", python = "^3.7", optional = true}]
pyc-core = [{version = ">=1.10", python = "~2.7 || ^3.5,<3.7", optional = true},
            {version = "*", python = "^3.7", optional = true}]

# All mandatory development dependencies
[tool.poetry.group.dev.dependencies]
pyx-poetry = [{git = "https://gitlab.dlr.de/fa_sw/stmlab/PyXMake.git", branch="pyx_poetry", python="^3.7"}]
pyc-core = [{git = "https://gitlab.dlr.de/fa_sw/stmlab/PyCODAC.git", python="^3.7"}]

[tool.poetry.extras]
all = ["pyx-poetry","pyc-core"]
core = ["pyx-poetry"]
devel = ["pyc-core"]

[tool.poetry.scripts]
poetry-auto-cli = "PyXMake.VTL:run"
pyxmake = "PyXMake.VTL:main"

[tool.pyxmake.archive]
name = "pyx_core-master.tar.gz"
source = "src/PyXMake"

[tool.pyxmake.doxygen]
name = "PyXMake"
title = ["PyXMake", "PyXMake Developer Guide"]
format = "Python"
source = "src"
output = "doc/pyx_core"
filter = [{"contains" = ["doc","bin","config"]}, {"endswith" = ["make","scratch","examples"]}]

[tool.pyxmake.sphinx]
name = "PyXMake"
source = "doc"
output = "doc"
file = "documentation"
theme = "pydata_sphinx_theme"

[tool.pyxmake.coverage]
name = "PyXMake"
source = "src"
exclude = ["src/PyXMake/Plugin",
           "src/PyXMake/VTL"]
include = ["example/pyx_api.py",
           "example/pyx_app.py",
           "example/pyx_cmake.py",
           "example/pyx_archive.py",
           "example/pyx_gfortran.py",
           "example/pyx_py2x.py.py",
           "example/pyx_pyreq.py",
           "example/pyx_cxx.py",
           "example/pyx_doxygen.py",
           "example/pyx_latex.py",
           "example/pyx_sphinx.py",
           "example/pyx_openapi.py",
           "example/pyx_bundle.py"]