mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 18:44:22 +00:00

This commit adds a command create-from-yaml to tlc, which creates a transfer list from a yaml file. It also changes the files structure of the fixtures in the unit tests so they are in a directory called trusted-firmware-a. This is necessary because blob file paths in the yaml file are relative to the root of TF-A. The blob files are not verified by TLC, so it can be used to load arbitrary binary information into the transfer list. The authenticity of the transfer list must be ensured by the loader. Change-Id: Idf704ce5d9b7e28b31f471ac337e4aef33d0ad8a Signed-off-by: Charlie Bareham <charlie.bareham@arm.com>
147 lines
3.5 KiB
TOML
147 lines
3.5 KiB
TOML
# Poetry pyproject.toml: https://python-poetry.org/docs/pyproject/
|
|
[build-system]
|
|
requires = ["poetry_core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.poetry]
|
|
name = "tlc"
|
|
version = "0.9.0"
|
|
description = "Transfer List Compiler (TLC) is a Python-based CLI for efficiently handling transfer lists."
|
|
authors = ["Arm Ltd <tf-a@lists.trustedfirmware.org>"]
|
|
license = "BSD-3"
|
|
repository = "https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/"
|
|
homepage = "https://trustedfirmware-a.readthedocs.io/en/latest/index.html"
|
|
|
|
# Keywords description https://python-poetry.org/docs/pyproject/#keywords
|
|
keywords = [] #! Update me
|
|
|
|
# Pypi classifiers: https://pypi.org/classifiers/
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"Operating System :: OS Independent",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"License :: OSI Approved :: BSD License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
]
|
|
|
|
[tool.poetry.scripts]
|
|
# Entry points for the package https://python-poetry.org/docs/pyproject/#scripts
|
|
"tlc" = "tlc.__main__:cli"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.8"
|
|
|
|
typer = {extras = ["all"], version = "^0.4.0"}
|
|
rich = "^10.14.0"
|
|
click = "^8.1.7"
|
|
pyyaml = "^6.0.1"
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
bandit = "^1.7.1"
|
|
darglint = "^1.8.1"
|
|
black = "^24.4.2"
|
|
isort = {extras = ["colors"], version = "^5.10.1"}
|
|
mypy = "^0.910"
|
|
mypy-extensions = "^0.4.3"
|
|
pre-commit = "^2.15.0"
|
|
pydocstyle = "^6.1.1"
|
|
pylint = "^2.11.1"
|
|
pytest = "^7.0.0"
|
|
pyupgrade = "^2.29.1"
|
|
safety = "^2.2.0"
|
|
coverage = "^6.1.2"
|
|
coverage-badge = "^1.1.0"
|
|
pytest-html = "^4.1.1"
|
|
pytest-cov = "^3.0.0"
|
|
|
|
[tool.black]
|
|
# https://github.com/psf/black
|
|
target-version = ["py38"]
|
|
line-length = 88
|
|
color = true
|
|
|
|
exclude = '''
|
|
/(
|
|
\.git
|
|
| \.hg
|
|
| \.mypy_cache
|
|
| \.tox
|
|
| \.venv
|
|
| _build
|
|
| buck-out
|
|
| build
|
|
| dist
|
|
| env
|
|
| venv
|
|
)/
|
|
'''
|
|
|
|
[tool.isort]
|
|
# https://github.com/timothycrosley/isort/
|
|
py_version = 38
|
|
line_length = 88
|
|
|
|
known_typing = ["typing", "types", "typing_extensions", "mypy", "mypy_extensions"]
|
|
sections = ["FUTURE", "TYPING", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
|
|
include_trailing_comma = true
|
|
profile = "black"
|
|
multi_line_output = 3
|
|
indent = 4
|
|
color_output = true
|
|
|
|
[tool.mypy]
|
|
# https://mypy.readthedocs.io/en/latest/config_file.html#using-a-pyproject-toml-file
|
|
python_version = 3.8
|
|
pretty = true
|
|
show_traceback = true
|
|
color_output = true
|
|
|
|
allow_redefinition = false
|
|
check_untyped_defs = true
|
|
disallow_any_generics = true
|
|
disallow_incomplete_defs = true
|
|
ignore_missing_imports = true
|
|
implicit_reexport = false
|
|
no_implicit_optional = true
|
|
show_column_numbers = true
|
|
show_error_codes = true
|
|
show_error_context = true
|
|
strict_equality = true
|
|
strict_optional = true
|
|
warn_no_return = true
|
|
warn_redundant_casts = true
|
|
warn_return_any = true
|
|
warn_unreachable = true
|
|
warn_unused_configs = true
|
|
warn_unused_ignores = true
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
# https://docs.pytest.org/en/6.2.x/customize.html#pyproject-toml
|
|
# Directories that are not visited by pytest collector:
|
|
norecursedirs =["hooks", "*.egg", ".eggs", "dist", "build", "docs", ".tox", ".git", "__pycache__"]
|
|
doctest_optionflags = ["NUMBER", "NORMALIZE_WHITESPACE", "IGNORE_EXCEPTION_DETAIL"]
|
|
|
|
# Extra options:
|
|
addopts = [
|
|
"--strict-markers",
|
|
"--tb=short",
|
|
"--doctest-modules",
|
|
"--doctest-continue-on-failure",
|
|
]
|
|
|
|
[tool.coverage.run]
|
|
source = ["tests"]
|
|
|
|
[coverage.paths]
|
|
source = "tlc"
|
|
|
|
[coverage.run]
|
|
branch = true
|
|
|
|
[coverage.report]
|
|
fail_under = 50
|
|
show_missing = true
|