Coverage for src/mafw/devtools/cli/cli.py: 100%
21 statements
« prev ^ index » next coverage.py v7.15.0, created at 2026-07-26 09:13 +0000
« prev ^ index » next coverage.py v7.15.0, created at 2026-07-26 09:13 +0000
1# Copyright 2026 European Union
2# Author: Bulgheroni Antonio (antonio.bulgheroni@ec.europa.eu)
3# SPDX-License-Identifier: EUPL-1.2
4"""Unified development tools CLI for MAFw maintenance tasks."""
6from __future__ import annotations
8import click
10try:
11 from mafw.devtools import ensure_devtools_available
13 ensure_devtools_available()
14except ImportError as exc:
15 raise click.ClickException(
16 'Development dependencies are not installed. Install them with: pip install mafw[dev]'
17 ) from exc
19from mafw.devtools.cli.completion import completion
20from mafw.devtools.cli.dependencies import dependencies
21from mafw.devtools.cli.documentation import documentation
22from mafw.devtools.cli.release import release
23from mafw.devtools.cli.toolchain import toolchain
24from mafw.tools.click_extensions import AbbreviateGroup
26CONTEXT_SETTINGS = {'help_option_names': ['-h', '--help']}
29@click.group(
30 cls=AbbreviateGroup,
31 context_settings=CONTEXT_SETTINGS,
32 help='Unified development tool for MAFw maintenance tasks.',
33)
34def cli() -> None:
35 """Unified development tool for MAFw maintenance tasks."""
38cli.add_command(completion)
39cli.add_command(release)
40cli.add_command(dependencies)
41cli.add_command(documentation)
42cli.add_command(toolchain)
44if __name__ == '__main__':
45 cli()