I’ve recently completed a lot of work that has made IoAbstraction and LiquidCrystalIO libraries compatible with both mbed and Arduino. Previously I had relied on the library.properties file as the means of library definition. However, now, at least for platformIO users, there is a need to use the JSON format, to describe the extra available platforms and frameworks.
The IoAbstraction library is used by a lot of people, on both Arduino IDE and platformIO. I cannot remove the library.properties, but I think platformIO is using that instead of the JSON file.
My question is if I re-register the libraries will that work, and are the two JSON files in the projects below correctly formed? I ask this because there are quite a few users, and I don’t want to break them. There’s a lot of people I know of with large projects built on these libraries, and I need to apply as much care as possible before proceeding.
Also, if this is a big job, can we include tcMenu in with the others at the same time. That also has a library.json file that is not being picked up. My main concern is that if I re-register all of these, then they’ll end up with different IDs or something similar, and break peoples projects and dependencies.
Hi there, thanks for the reply. The changes are in the original repository, and they are picked up and published by platformIO (in fact the mbed support is in 1.5.0 of IoAbstraction, and the library.json is there too but not being used by library manager).
I can force install the library into an mbed project and it works as expected, it’s just not picking up the json file that is in the repo, I think it’s in the right place in all three repos.
I would like platformIO to use the library.json file as the project descriptor instead of the library.properties. I cannot remove the library.properties file because it will stop working for Arduino IDE. If at all possible, I’d rather not have to manage separate repos for that. Is there any way to make library manager use the library.json file over the library.properties?
Mmmh now I’m confused, so it looks like it should be picking up the library.json that’s in the top level directory of all three modules, since I’m pretty new to platformIO, it’s more than possible that I’ve got a mistake in the JSON file. Could this prevent it from being used?
@ivankravets any idea why “Mbed” won’t show up as compatible framework in the lib page although the library.json delcares it? Are repositories containing a library.properties auto-declared to be Arduino only?