-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[meta.yaml / Che plug-ins]: Add dependencies section #15376
Comments
@benoitf I put P2, but feel free to update priority |
I think we discussed that in the case of multiple graphs (2 plugins sharing the same dependency like
|
Issues go stale after Mark the issue as fresh with If this issue is safe to close now please do so. Moderators: Add |
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 onVS 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 thatVS 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.or
Additional 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-java
definesjava11
image containervscode-quarkus
depends onvscode-java
and specify a spec/container image `quarkus``then, there is a graph
quarkus --> java
and then,vscode-quarkus.vsix
andvscode-java.vsix
will use the same container which will be usingquarkus
imageSo, 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 --> java
andspring-boot --> java
, if quarkus is definingquarkus-image
andspring-boot
is definingspringboot-image
, two containers will be deployed, one withquarkus-image
and with both java and spring vsix. The same withspringboot-image
with bothjava and spring vsix
another option: there is an error. We can either use
quarkus
orspring boot
plug-ins but not the same.Note that due to merge of containers with the same image, if
quarkus
is usingjava11
image andspring-boot
is also usingjava11
image, 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 usingjava11
imagerelated to #15272
The text was updated successfully, but these errors were encountered: