Unfortunately, the build system picks vshymanskyy/Preferences from PIO’s registry instead of the native library.
What should I do?
I’ve tried to use urls like https://github.com/espressif/arduino-esp32/tree/master/libraries/Preferences or https://github.com/espressif/arduino-esp32.git@libraries/Preferences but it doesn’t seem to work. Also, I work in a team, so I cannot afford pointing to a local absolute path.
I’m working on a large project where the LDF isn’t suitable. But let’s not lose focus. If you start another topic about the LDF performance issues, I’ll gladly participate : -)
Indeed, luckily, vshymanskyy/Preferences doesn’t have a 3.3.1 version, so PlatformIO includes the right library instead.
Nevertheless, I think this issue should be fixed. If someone registers another xxx/Preferences library containing a version 3.3.1, my project will break.
Moreover, what if someone creates a xxx/SPI or xxx/Wire library and register it in the PlatformIO registry? Will it break all the projects that have come to include explicitly the native SPI or Wire libraries over the years? (very common)