Skip to content

As an IDE admin I want to make some libs preloaded so that xoders of mine have company-specific libs avalable right away #2014

@nkrkv

Description

@nkrkv

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.load section of config.json is 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 load list 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions