-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Is your task related to a problem? Please describe.
We have some runtime dependencies for plug-ins.
For example VS Code java debug VS Code extension is depending on VS Code java
(we have other examples)
So we should add that information in meta.yaml, so if user is selecting VS Code java debug it would notify that VS Code java will be selected as well.
Also, at runtime, it can check if the configuration is consistent and prevent to start a workspace or remove failed plug-ins.
Describe the solution you'd like
Add dependencies section in meta.yaml, where we can depend on one/several other Che plug-ins.
-dependencies:
-id: redhat/java/latestor
-dependencies:
-reference: https://gist.../yamlAdditional context
From UX, if a che plug-in is selected with dependencies, it should show that new plug-ins will come with it.
if a plug-in is depending on another plug-in and is not defining any container, it will use the dependency container.
But if a container is specified, the dependency plug-in will use this pre-defined container.
example:
vscode-javadefinesjava11image containervscode-quarkusdepends onvscode-javaand specify a spec/container image `quarkus``
then, there is a graph quarkus --> java and then, vscode-quarkus.vsix and vscode-java.vsix will use the same container which will be using quarkus image
So, there are graphs, and the root node image should always be used (instead of the leaf container)
If there are multiple graphs, some options:
-
each root node will have its own container
for example let say
quarkus --> javaandspring-boot --> java, if quarkus is definingquarkus-imageandspring-bootis definingspringboot-image, two containers will be deployed, one withquarkus-imageand with both java and spring vsix. The same withspringboot-imagewith bothjava and spring vsix -
another option: there is an error. We can either use
quarkusorspring bootplug-ins but not the same. -
Note that due to merge of containers with the same image, if
quarkusis usingjava11image andspring-bootis also usingjava11image, despite that there are two graphs, as the image definition is the same, both quarkus, java, spring-boot vsix will be added in the same container usingjava11image
related to #15272