mirror of
https://github.com/esphome/esphome.git
synced 2025-09-07 13:52:20 +01:00
Don't compile unnecessary platform files (e.g. ESP8266 files on ESP32) (#9354)
This commit is contained in:
@@ -112,8 +112,17 @@ class ComponentManifest:
|
||||
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 = []
|
||||
ret: list[FileResource] = []
|
||||
|
||||
# Get filter function for source files
|
||||
filter_source_files_func = getattr(self.module, "FILTER_SOURCE_FILES", None)
|
||||
|
||||
# Get list of files to exclude
|
||||
excluded_files = (
|
||||
set(filter_source_files_func()) if filter_source_files_func else set()
|
||||
)
|
||||
|
||||
# Process all resources
|
||||
for resource in (
|
||||
r.name
|
||||
for r in importlib.resources.files(self.package).iterdir()
|
||||
@@ -124,6 +133,11 @@ class ComponentManifest:
|
||||
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
|
||||
if resource in excluded_files:
|
||||
continue
|
||||
|
||||
ret.append(FileResource(self.package, resource))
|
||||
return ret
|
||||
|
||||
|
Reference in New Issue
Block a user