-
Notifications
You must be signed in to change notification settings - Fork 123
Plugins: add storage format and clarify capabilities in status #1021
Comments
Very clearly written, please also add this text to the documentation of infos/status and infos/provides (in doc/CONTRACT.ini). One point is missing: in the PluginDatabase (src/libs/tools/src/plugindatabase.cpp) you need to do the split-up using the seperator, too. (in the same way as done in CMake). EDIT: Or was your plan to also modify the generated readme.c? That would work, too. |
If I already need to modify the CMake function, it might be easier doing both there. Did you btw. already decide whether we should use a list or an array for the provides list? (An array would probably require quite some changes in |
I am not sure about that ;)
provides? It is not a list, nor an array, it is a space-separated entry in the contract. Do you mean examples? Please create separate issues for separate questions. |
Well, wait... why is it necessary at all to modify both, the CMake function and
Maybe I mixed up something, forget about it. 👍 |
Yes, I am afraid it needs to be done twice:
|
Oh ok, wasn't aware 1. was even possible. But if I do a split in 1., then maybe I can reuse it and add the partial keys in cmake/Modules/LibAddMacros.cmake right away? |
Yes, you could do so. Then it will also work with e.g. shell code that does |
Task done. |
Situation
Currently
storage
plugins are either named by their format (e.g.ini
plugin) or have the format as part of theirinfo/provides
list. Because this list is not consistently structured, it is impossible to know which provides key represents the actual format supported by the plugin.Furthermore, some plugins cause troubles when being fed with arbitrarily structured data because they can only operate on a well-defined structure (e.g.
fstab
,hosts
).This is the implementation task following the discussion in #994.
Requirements
It should be possible
Implementation
storage
providers that do not support an actual format will be renamed tostorage/info
.storage
providers that support a format will get the format as value forstorage
, e.g.storage/ini
(separator to be discussed in Separators #1010).storage
andini
will then be added to the provides list to keep backwards-compatibility.storage
plugins will getlimited
if they cannot consume arbitrarily formatted data (e.g.hosts
plugin).readonly
if they can only read files.writeonly
if they can only write files.The text was updated successfully, but these errors were encountered: