Skip to content
This repository has been archived by the owner on Jan 20, 2023. It is now read-only.

Merge meta.yaml and che-plugin.yaml #55

Merged
merged 9 commits into from
May 7, 2019
Merged

Merge meta.yaml and che-plugin.yaml #55

merged 9 commits into from
May 7, 2019

Conversation

garagatyi
Copy link

@garagatyi garagatyi commented May 3, 2019

What does this PR do?

This PR reworks plugin broker to process meta.yaml with new structure.
Complete change of components needed to create this PR is described here eclipse-che/che#12908 (comment)
Plugins with new meta are placed in v3 folder of Che plugin registry https://github.com/eclipse/che-plugin-registry/tree/master/v3/plugins
What is changed in details:

  • configuration that was earlier part of che-plugin.yaml now is part of meta.yaml. In particular che-plugin-yaml content is placed in spec field of meta.yaml
  • meta.yaml now contains apiVersion field. This PR requires meta.yaml to contain apiVersion: v2 since current version of meta yaml is considered v1. This field will allow us to implement backward compatibility for future changes of meta.yaml model
  • setting fields url, extension, extensions, attributes in meta.yaml is no longer supported
  • both VS code extension and Theia plugin have to specify URLs to binaries archives/IDs of vscode extensions in spec.extensions field, which is array.
  • VS code extension broker and Theia plugin brokers are merged into a single one to cleanup the code. Which leads to a new feature - both VS code extension and Theia plugin can specify both .theia and vsix archives in it and they are properly processed. This makes both types of extensions effectively the same.
  • Specifying sidecar image in package.json of .theia plugin is no longer supported
  • Usage of tar archives for plugins of types Che plugin, Che editor is no longer supported.
  • Plugins of all types (including VS Code and Theia) can specify the same sidecar configuration such as RAM limit, environment variables, volumes, ports, etc.
  • Field with commands that was called editorCommands in che-plugin.yaml renamed in commands in meta.yaml
  • Copying files from Che editor/Che plugin tar archives is no longer supported
  • Setting of editors field from che-plugin.yaml is no longer supported
  • New feature: Theia plugin now supports specifying several archives
  • Che plugin broker is removed since it is no longer needed.

Current limitations:

  • VS Code extension/Theia plugin can have only 1 sidecar and can not specify endpoint for the time being

Examples of metas (more details at eclipse-che/che#12908 (comment)):

What issues does this PR fix or reference?

Related to eclipse-che/che#12908

Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
@garagatyi
Copy link
Author

Code is ready, there is still a test file to fix left. I'm working on fixing it ATM

@garagatyi
Copy link
Author

@svor I'm adding feature of using both .theia and .vsix in the same Che plugin. I suppose it is something you need.
@tsmaeder Please, read the description of the change. This can be valuable for languages team planning of features delivery.

Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
@codecov
Copy link

codecov bot commented May 6, 2019

Codecov Report

Merging #55 into master will increase coverage by 0.95%.
The diff coverage is 91.83%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #55      +/-   ##
==========================================
+ Coverage   61.43%   62.38%   +0.95%     
==========================================
  Files           8        6       -2     
  Lines         809      553     -256     
==========================================
- Hits          497      345     -152     
+ Misses        264      182      -82     
+ Partials       48       26      -22
Impacted Files Coverage Δ
storage/storage.go 100% <100%> (+11.11%) ⬆️
brokers/unified/vscode/sidecar.go 100% <100%> (ø)
brokers/unified/vscode/broker.go 74.51% <87.27%> (ø)
brokers/unified/broker.go 80.51% <90.9%> (+9.31%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7fbdcf6...47dd5e1. Read the comment docs.

Copy link
Contributor

@amisevsk amisevsk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, with a few comments.

brokers/unified/broker.go Show resolved Hide resolved
brokers/unified/broker_test.go Outdated Show resolved Hide resolved
brokers/unified/vscode/sidecar.go Outdated Show resolved Hide resolved
@garagatyi garagatyi merged commit b2d4bf6 into master May 7, 2019
@garagatyi garagatyi deleted the mergeMetaYaml branch May 7, 2019 13:22
metlos pushed a commit to metlos/che-plugin-broker that referenced this pull request Jun 17, 2019
Copy plugins into 'v2/publisher' folders.
Rename field name to displayName.
Rename field id to name.
Remove /meta.yaml from plugin links in index.
Add deprecate section to old plugins.
Rework scripts.
Add migrate section to registry index.
Add old notation plugins to v2 not to break exisiting workspaces.
Adapt Readme.md.
Signed-off-by: Oleksandr Garagatyi <ogaragat@redhat.com>
metlos pushed a commit to metlos/che-plugin-broker that referenced this pull request Jun 17, 2019
…aming convention

Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
metlos pushed a commit to metlos/che-plugin-broker that referenced this pull request Jun 17, 2019
…ming convention changes

Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
metlos pushed a commit to metlos/che-plugin-broker that referenced this pull request Jun 17, 2019
…build status icon to the README.md

Signed-off-by: Ilya Buziuk <ibuziuk@redhat.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants