A user library that ships a core-named header (e.g. WiFiEspAT/src/WiFi.h) could shadow the arduino-esp32 core during ESP-IDF library resolution. WiFiEspAT shadowing WiFi.h pulled EspAtDrv.cpp into the build, whose const char OK[]/STATUS[] collide with ESP-IDF's enum STATUS in rom/ets_sys.h, breaking every ESP32 sketch that #include <WiFi.h>. _resolve_library_components now: - skips a header entirely when the arduino-esp32 core provides it (computed set from cores/ + libraries/, cached), so a user lib can never shadow WiFi.h/Wire.h/SPI.h/WebServer.h/... - skips a resolved user lib whose library.properties architectures= excludes esp32/*. Regression: test/backend/unit/test_espidf_core_first.py Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| e2e | ||
| integration | ||
| unit | ||
| conftest.py | ||