I’m new to PlatformIO, and realize this is an odd question; maybe there is a more sensible way of doing this?!
The problem is that the ESP8266 Arduino framework includes it’s own version of ArduinoOTA, and is incompatible with the ArduinoOTA library that’s in the library manager (GitHub - JAndrassy/ArduinoOTA: Arduino library to upload sketch over network to Arduino board with WiFi or Ethernet libraries) – I’ll call this one EXT_ArduinoOTA.
If you install EXT_ArduinoOTA globally, it will be pulled into ESP8266 projects that are written against the ESP8266 builtin version… which causes them to fail to build.
I tried using
lib_ignore… but that completely ignored the library- including from ESP8266 Arduino framework(!)
I could switch to EXT_ArduinoOTA for ESP8266 based projects - but the
readme there notes that the ESP8266 package needs to be tweaked, and it doesn’t work with the default
espota script- would prefer not to do that as it makes it more complicated for students I’m working with (and for me too!)
Is there a way to make LDF search the framework before the globally installed libraries for a given project? (I did think about hardcoding the platform library location as an
extra_dirs… but I’m sure that makes it machine/user specific.)
Any other suggestions to be able to have EXT_ArduinoOTA library installed in PlatformIO but still use the version that comes with the ESP8266 version of the Arduino framework for ESP8266 based boards?