mirror of
https://github.com/wled/WLED.git
synced 2025-07-23 10:46:33 +00:00
Fix disabled usermod presence validation
PlatformIO doesn't clean out the libdir when usermods are disabled, so they still appear in the LibBuilders() set. Ensure that we validate only usermods that were actually deps for the build.
This commit is contained in:
parent
d2d5c423b7
commit
f9bfcce65d
@ -77,9 +77,10 @@ def wrapped_ConfigureProjectLibBuilder(xenv):
|
|||||||
for dep in result.depbuilders:
|
for dep in result.depbuilders:
|
||||||
cached_add_includes(dep, processed_deps, extra_include_dirs)
|
cached_add_includes(dep, processed_deps, extra_include_dirs)
|
||||||
|
|
||||||
|
wled_deps = [dep for dep in result.depbuilders if is_wled_module(dep)]
|
||||||
|
|
||||||
broken_usermods = []
|
broken_usermods = []
|
||||||
for dep in result.depbuilders:
|
for dep in wled_deps:
|
||||||
if is_wled_module(dep):
|
|
||||||
# Add the wled folder to the include path
|
# Add the wled folder to the include path
|
||||||
dep.env.PrependUnique(CPPPATH=str(wled_dir))
|
dep.env.PrependUnique(CPPPATH=str(wled_dir))
|
||||||
# Add WLED's own dependencies
|
# Add WLED's own dependencies
|
||||||
@ -97,6 +98,9 @@ def wrapped_ConfigureProjectLibBuilder(xenv):
|
|||||||
err=True)
|
err=True)
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
||||||
|
# Save the depbuilders list for later validation
|
||||||
|
xenv.Replace(WLED_MODULES=wled_deps)
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
# Apply the wrapper
|
# Apply the wrapper
|
||||||
|
@ -53,9 +53,10 @@ def validate_map_file(source, target, env):
|
|||||||
secho(f"ERROR: Map file not found: {map_file_path}", fg="red", err=True)
|
secho(f"ERROR: Map file not found: {map_file_path}", fg="red", err=True)
|
||||||
Exit(1)
|
Exit(1)
|
||||||
|
|
||||||
# Identify the WLED module source directories
|
# Identify the WLED module builders, set by load_usermods.py
|
||||||
module_lib_builders = [builder for builder in env.GetLibBuilders() if is_wled_module(env, builder)]
|
module_lib_builders = env['WLED_MODULES']
|
||||||
|
|
||||||
|
# Filter/warn if an incompatible usermod was requested
|
||||||
if env.GetProjectOption("custom_usermods","") == "*":
|
if env.GetProjectOption("custom_usermods","") == "*":
|
||||||
# All usermods build; filter non-platform-OK modules
|
# All usermods build; filter non-platform-OK modules
|
||||||
module_lib_builders = [builder for builder in module_lib_builders if env.IsCompatibleLibBuilder(builder)]
|
module_lib_builders = [builder for builder in module_lib_builders if env.IsCompatibleLibBuilder(builder)]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user