Remove group as a dependency from entity integrations (#32870)
* remove group dependency * Update device sun light trigger * Add zone dep back to device trackerpull/32880/head
parent
682fcec99e
commit
397238372e
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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": []
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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": []
|
||||||
}
|
}
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue