Universal plugin definition in Devfile #18892
Labels
kind/enhancement
A feature request - must adhere to the feature request template.
lifecycle/stale
Denotes an issue or PR has remained open with no activity and has become stale.
severity/P2
Has a minor but important impact to the usage or development of the system.
Is your enhancement related to a problem? Please describe.
are the main purpose of the devfile.
At the moment everything may not working as expected:
At the end of the day, the only thing users are interested into is to have a simple and unique way to express what would be the development environnement and the plugins it would like to generate for a project and for any IDE's used.
Describe the solution you'd like
Plugins declaration in devfile
It should be more generic and IDE/editor agnostic, users' wishes should be as simple as
I want Java11 support
orI want github tools
ori want openshift connector
orI want mysql tools
Taking as an example this project: https://github.com/sunix/scratch-kubernetes/blob/master/devfile.yaml
Current way:
The proposal is to declare plugins like
category/feature
something that could look like:So these are some example on the plugins id we could have:
language/java11
language/quarkus
guide/didact
connector/openshift
scm/git
scm/github
database/mysql
database/postgresql
database/mongo
issues/bugzilla
issues/github
issues/jira
As you can see there is nothing specific to a editor or IDE.
Implementation
On the IDE side, we would just have to maintain one plugin or generator per IDEs. These ones would have the right mapping and provide extensions/plugins/configuration that match each plugin id.
For instance, the `devfile plugin or generator in the Eclipse Desktop IDE could rely on Eclipse Oomph and enable/install the right plugins matching the plugin id.
An advance feature for could be to allow a user to override the set of extensions/configuration to be used for
language/java11
that would be done in the IDE level.Another advance feature could be to let the user define the extension that he always wants to enable, whatever the project.
Describe alternatives you've considered
N/A
The text was updated successfully, but these errors were encountered: