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

Transfer List Compiler is a command line tool that enables the static generation of TL's compliant with version 0.9 of the firmware handoff specification. The intent of this tool is to support information passing via the firmware handoff framework to bootloaders that run without preceding images (i.e. `RESET_TO_BL31`). It currently allows for TL's to be statically generated from blobs of data, and modified by removing/adding TE's. Future work will provide support for TL generation from configuration file. Change-Id: Iff670842e34c9ad18eac935248ee2aece43dc533 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com> Co-authored-by: Charlie Bareham <charlie.bareham@arm.com>
146 lines
3.5 KiB
TOML
146 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"
|
|
|
|
[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
|