The new IDE 1.5 has 'fat' libraries support: libraries that contains code to run on more than one microcontroller architecture. The advantages of having a 'fat' library are clear:
- The IDE will automatically lists the available libraries based on the architecture of the currently selected board
- The same library can have multiple architecture inside => you don't have to install a different version of the same library for every architecture.
These are good changes.
We also tried to introduce an auto-detection mechanism that takes apart non-fat libraries from fat libraries.
This mechanism didn't worked as expected because we assumed that library writers would only use 'examples' and 'utility' folder. This is a clearly wrong assumption, and the patch i have just pushed on the repository fixes this problem.
Pleased to hear that the feedback has been taken int account.
To make my position clear, some sort of cleanup by documented
standard directory names is a good thing. Consolidating 'Example' and 'example' and 'examples' and suchlike variants into a single, documented name is a good thing (so the IDE can display te eample,s, in a menu).
Likewise for other directories on which the IDE has to automatically act
. I could see integrated documentaton browsing, for example, if tyhere were standard ways to add it (doxygen seems to be popular). Keeping documentation close to code, and encouraging documentation, are clearly good thins.
On the other hand there may be a need for all sorts of other data, the form of which may ary wildly depending on the purpose of the library and thhe supported hardware. Libraries should be free to add what they need, since the IDE does not need to know about it or do anything with it. Same for setup utilities, python and perl scripts to generate config files or to consume data produced by the library, etc. Although having documented standard values ('data' and 'utils' for example) would help consistency.