diff --git a/esphome/config_helpers.py b/esphome/config_helpers.py index 5ecd665abe..3c866f6d31 100644 --- a/esphome/config_helpers.py +++ b/esphome/config_helpers.py @@ -9,6 +9,9 @@ from esphome.const import ( ) from esphome.core import CORE +# Pre-build lookup map from (platform, framework) tuples to PlatformFramework enum +_PLATFORM_FRAMEWORK_LOOKUP = {pf.value: pf for pf in PlatformFramework} + class Extend: def __init__(self, value): @@ -126,8 +129,6 @@ def filter_source_files_from_platform( Returns: Function that returns list of files to exclude for current platform """ - # Pre-build lookup map from (platform, framework) tuples to PlatformFramework enum - _PLATFORM_FRAMEWORK_LOOKUP = {pf.value: pf for pf in PlatformFramework} def filter_source_files() -> list[str]: # Get current platform/framework diff --git a/esphome/loader.py b/esphome/loader.py index 4a6847bd89..06d1c7817b 100644 --- a/esphome/loader.py +++ b/esphome/loader.py @@ -107,7 +107,11 @@ class ComponentManifest: @property def resources(self) -> list[FileResource]: - """Return a list of all file resources defined in the package of this component.""" + """Return a list of all file resources defined in the package of this component. + + This will return all cpp source files that are located in the same folder as the + loaded .py file (does not look through subdirectories) + """ ret: list[FileResource] = [] # Get filter function for source files @@ -127,6 +131,7 @@ class ComponentManifest: if Path(resource).suffix not in SOURCE_FILE_EXTENSIONS: continue if not importlib.resources.files(self.package).joinpath(resource).is_file(): + # Not a resource = this is a directory (yeah this is confusing) continue # Skip excluded files