- 
                Notifications
    You must be signed in to change notification settings 
- Fork 3k
Description
Description of defect
I presume this was introduced with the 6.3.0 restructuring, since it does not occur in 6.2.0.
I use the Storage API, specifically TDBStore in bare metal profile. With 6.2.0 and earlier, I added tdbstore to the requires array and it worked with a couple other dependencies. With 6.3.0, the TDBStore API was moved under kv-global-api. The issue is, since there are other source files such as FileSystemStore.cpp under kv-global-api, it creates a chain of dependencies which is almost impossible to satisfy. This is the compiler error I receive when I only add kv-global-api:
Compile [ 41.9%]: FileSystemStore.cpp
[Fatal Error] FileSystemStore.h@22,10: filesystem/FileSystem.h: No such file or directory
[ERROR] In file included from .\mbed-os\storage\kvstore\source\FileSystemStore.cpp:19:
./mbed-os/storage/kvstore/include/kvstore/FileSystemStore.h:22:10: fatal error: filesystem/FileSystem.h: No such file or directory
   22 | #include "filesystem/FileSystem.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Of course I should not be required to add filesystem to my dependencies since I do not use it at all. However when I try to do it, it creates further dependencies such as littlefs. It goes on like this.
I think the key problem here is FileSystemStore.cpp residing under the same API as KVStore.
Target(s) affected by this defect ?
All targets.
Toolchain(s) (name and version) displaying this defect ?
GCC ARM 9-2020-q2-update
What version of Mbed-os are you using (tag or sha) ?
mbed-os-6.3.0
What version(s) of tools are you using. List all that apply (E.g. mbed-cli)
mbed-cli
How is this defect reproduced ?
Create a bare-metal example.
Try #include "TDBStore.h".