Add hassfest requirements validation (#39329)
This commit is contained in:
parent
41abc08d63
commit
8eed7110a1
4 changed files with 190 additions and 1 deletions
|
@ -11,6 +11,7 @@ from . import (
|
|||
dependencies,
|
||||
json,
|
||||
manifest,
|
||||
requirements,
|
||||
services,
|
||||
ssdp,
|
||||
translations,
|
||||
|
@ -55,6 +56,11 @@ def get_config() -> Config:
|
|||
type=valid_integration_path,
|
||||
help="Validate a single integration",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--requirements",
|
||||
action="store_true",
|
||||
help="Validate requirements",
|
||||
)
|
||||
parsed = parser.parse_args()
|
||||
|
||||
if parsed.action is None:
|
||||
|
@ -75,6 +81,7 @@ def get_config() -> Config:
|
|||
root=pathlib.Path(".").absolute(),
|
||||
specific_integrations=parsed.integration_path,
|
||||
action=parsed.action,
|
||||
requirements=parsed.requirements,
|
||||
)
|
||||
|
||||
|
||||
|
@ -86,7 +93,10 @@ def main():
|
|||
print(err)
|
||||
return 1
|
||||
|
||||
plugins = INTEGRATION_PLUGINS
|
||||
plugins = [*INTEGRATION_PLUGINS]
|
||||
|
||||
if config.requirements:
|
||||
plugins.append(requirements)
|
||||
|
||||
if config.specific_integrations:
|
||||
integrations = {}
|
||||
|
@ -104,6 +114,8 @@ def main():
|
|||
try:
|
||||
start = monotonic()
|
||||
print(f"Validating {plugin.__name__.split('.')[-1]}...", end="", flush=True)
|
||||
if plugin is requirements:
|
||||
print()
|
||||
plugin.validate(integrations, config)
|
||||
print(" done in {:.2f}s".format(monotonic() - start))
|
||||
except RuntimeError as err:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue