xod
xod copied to clipboard
As an IDE admin I want to make some libs preloaded so that xoders of mine have company-specific libs avalable right away
For enterprise and educational applications, it is desired to have a list of some libraries preloaded already at the moment when IDE starts. Currently, the list of such libraries is hard-coded and includes only the xod-*/* standard libraries. Let’s make it configurable with config.json so that an admin could add new ones.
User story
I edit my custom config.json and list things to load explicitly:
{
"libraries": {
"load": [
"mycompany/libfoo",
"mycompany/[email protected]"
]
}
}
The config above should cause the installation of mycompany/libfoo at the latest version and mycompany/libbar at version 0.2.3. These libraries installed are saved in the workspace in the same way as if I’d installed them manually. If at the moment of IDE start the libraries with matching names found in the workspace, they are not installed.
Acceptance criteria
- [ ] The
libraries.loadsection ofconfig.jsonis taken into account so that new libraries get installed on the launch - [ ] The new libs are not re-installed if present already
- [ ] If a library included has to be installed, its version is taken into account in exactly the same way “File → Add Library” works
How to implement
- Upon full IDE initialization run through the
loadlist and install libraries that are missing currently, using the same mechanism as for “File → Add Library” invoked many times manually
Out of scope
- Verifying version match if a library is installed already
Should these libraries be saved in a workspace after saving the project? If so — how they can be managed then, especially for updating stale library versions? 🤔
Clarified that at the end of “User Story”. See “Out of scope” also.