Remove group as a dependency from entity integrations (#32870)

* remove group dependency

* Update device sun light trigger

* Add zone dep back to device tracker
pull/32880/head
Paulus Schoutsen 2020-03-16 14:47:44 -07:00 committed by GitHub
parent 682fcec99e
commit 397238372e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 19 additions and 16 deletions

View File

@ -3,7 +3,8 @@
"name": "Automation", "name": "Automation",
"documentation": "https://www.home-assistant.io/integrations/automation", "documentation": "https://www.home-assistant.io/integrations/automation",
"requirements": [], "requirements": [],
"dependencies": ["device_automation", "group", "webhook"], "dependencies": [],
"after_dependencies": ["device_automation", "webhook"],
"codeowners": ["@home-assistant/core"], "codeowners": ["@home-assistant/core"],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,7 +3,7 @@
"name": "Cover", "name": "Cover",
"documentation": "https://www.home-assistant.io/integrations/cover", "documentation": "https://www.home-assistant.io/integrations/cover",
"requirements": [], "requirements": [],
"dependencies": ["group"], "dependencies": [],
"codeowners": ["@home-assistant/core"], "codeowners": ["@home-assistant/core"],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,7 +3,8 @@
"name": "Presence-based Lights", "name": "Presence-based Lights",
"documentation": "https://www.home-assistant.io/integrations/device_sun_light_trigger", "documentation": "https://www.home-assistant.io/integrations/device_sun_light_trigger",
"requirements": [], "requirements": [],
"dependencies": ["device_tracker", "group", "light", "person"], "dependencies": [],
"after_dependencies": ["device_tracker", "group", "light", "person"],
"codeowners": [], "codeowners": [],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,7 +3,8 @@
"name": "Device Tracker", "name": "Device Tracker",
"documentation": "https://www.home-assistant.io/integrations/device_tracker", "documentation": "https://www.home-assistant.io/integrations/device_tracker",
"requirements": [], "requirements": [],
"dependencies": ["group", "zone"], "dependencies": ["zone"],
"after_dependencies": [],
"codeowners": [], "codeowners": [],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,7 +3,7 @@
"name": "Fan", "name": "Fan",
"documentation": "https://www.home-assistant.io/integrations/fan", "documentation": "https://www.home-assistant.io/integrations/fan",
"requirements": [], "requirements": [],
"dependencies": ["group"], "dependencies": [],
"codeowners": [], "codeowners": [],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,7 +3,7 @@
"name": "Light", "name": "Light",
"documentation": "https://www.home-assistant.io/integrations/light", "documentation": "https://www.home-assistant.io/integrations/light",
"requirements": [], "requirements": [],
"dependencies": ["group"], "dependencies": [],
"codeowners": [], "codeowners": [],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,7 +3,7 @@
"name": "Lock", "name": "Lock",
"documentation": "https://www.home-assistant.io/integrations/lock", "documentation": "https://www.home-assistant.io/integrations/lock",
"requirements": [], "requirements": [],
"dependencies": ["group"], "dependencies": [],
"codeowners": [], "codeowners": [],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,7 +3,7 @@
"name": "Plant Monitor", "name": "Plant Monitor",
"documentation": "https://www.home-assistant.io/integrations/plant", "documentation": "https://www.home-assistant.io/integrations/plant",
"requirements": [], "requirements": [],
"dependencies": ["group", "zone"], "dependencies": [],
"after_dependencies": ["recorder"], "after_dependencies": ["recorder"],
"codeowners": ["@ChristianKuehnel"], "codeowners": ["@ChristianKuehnel"],
"quality_scale": "internal" "quality_scale": "internal"

View File

@ -3,6 +3,6 @@
"name": "Remote", "name": "Remote",
"documentation": "https://www.home-assistant.io/integrations/remote", "documentation": "https://www.home-assistant.io/integrations/remote",
"requirements": [], "requirements": [],
"dependencies": ["group"], "dependencies": [],
"codeowners": [] "codeowners": []
} }

View File

@ -3,7 +3,7 @@
"name": "Scripts", "name": "Scripts",
"documentation": "https://www.home-assistant.io/integrations/script", "documentation": "https://www.home-assistant.io/integrations/script",
"requirements": [], "requirements": [],
"dependencies": ["group"], "dependencies": [],
"codeowners": ["@home-assistant/core"], "codeowners": ["@home-assistant/core"],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,7 +3,7 @@
"name": "Switch", "name": "Switch",
"documentation": "https://www.home-assistant.io/integrations/switch", "documentation": "https://www.home-assistant.io/integrations/switch",
"requirements": [], "requirements": [],
"dependencies": ["group"], "dependencies": [],
"codeowners": [], "codeowners": [],
"quality_scale": "internal" "quality_scale": "internal"
} }

View File

@ -3,6 +3,6 @@
"name": "Vacuum", "name": "Vacuum",
"documentation": "https://www.home-assistant.io/integrations/vacuum", "documentation": "https://www.home-assistant.io/integrations/vacuum",
"requirements": [], "requirements": [],
"dependencies": ["group"], "dependencies": [],
"codeowners": [] "codeowners": []
} }

View File

@ -156,7 +156,7 @@ def calc_allowed_references(integration: Integration) -> Set[str]:
"""Return a set of allowed references.""" """Return a set of allowed references."""
allowed_references = ( allowed_references = (
ALLOWED_USED_COMPONENTS ALLOWED_USED_COMPONENTS
| set(integration.manifest["dependencies"]) | set(integration.manifest.get("dependencies", []))
| set(integration.manifest.get("after_dependencies", [])) | set(integration.manifest.get("after_dependencies", []))
) )
@ -250,7 +250,7 @@ def validate(integrations: Dict[str, Integration], config):
validate_dependencies(integrations, integration) validate_dependencies(integrations, integration)
# check that all referenced dependencies exist # check that all referenced dependencies exist
for dep in integration.manifest["dependencies"]: for dep in integration.manifest.get("dependencies", []):
if dep not in integrations: if dep not in integrations:
integration.add_error( integration.add_error(
"dependencies", f"Dependency {dep} does not exist" "dependencies", f"Dependency {dep} does not exist"

View File

@ -52,8 +52,8 @@ MANIFEST_SCHEMA = vol.Schema(
vol.Url(), documentation_url # pylint: disable=no-value-for-parameter vol.Url(), documentation_url # pylint: disable=no-value-for-parameter
), ),
vol.Optional("quality_scale"): vol.In(SUPPORTED_QUALITY_SCALES), vol.Optional("quality_scale"): vol.In(SUPPORTED_QUALITY_SCALES),
vol.Required("requirements"): [str], vol.Optional("requirements"): [str],
vol.Required("dependencies"): [str], vol.Optional("dependencies"): [str],
vol.Optional("after_dependencies"): [str], vol.Optional("after_dependencies"): [str],
vol.Required("codeowners"): [str], vol.Required("codeowners"): [str],
vol.Optional("logo"): vol.Url(), # pylint: disable=no-value-for-parameter vol.Optional("logo"): vol.Url(), # pylint: disable=no-value-for-parameter