Description
Is your feature request related to a problem? Please describe
We are currently removing plugins from the devfile spec but being able to reference a devfile or a fragment of a devfile (beyond parents that are limited to one) would be valuable.
Che workspaces for example always include the same components (like the IDE and machine-exec) and those components may have long specs. Having to copy/pasting those components in every single devfile makes devfile harder to read and edit. And an update to those component requires an update to every single devfile.
Describe the solution you'd like
ALTERNATIVE 1
Allowing composition rather than inheritance in devfiles. Deprecating parent
and introducing imports
.
schemaVersion: 3.0.0
imports:
- id: java-maven
- id: mysql
- id: theia-ide
components:
(...)
ALTERNATIVE 2
Have a dedicated section (webEditors
) for IDE tooling:
schemaVersion: 2.5.0
parent:
id: java-maven
components:
(...)
webEditors:
- id: che-theia-ide
plugins:
- id: java
- id: github-pull-request
preferences:
- editor.tabSize: 4
- editor.insertSpaces: true
Additional context
For the time being Che will use separate files to let users specify the IDE (and its specific preferences and extensions). Separating the IDE components from the rest of the devfile is probably a good idea. But splitting the spec of a workspace into multiple files is not.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status