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

Theia plugin metadata #1

Merged
merged 9 commits into from
Apr 20, 2018

Conversation

akurinnoy
Copy link

this PR implements

  • retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
  • pluggability, which allows extending the plugin system to run different types of plugins.

/**
* Plugin engine (API) type, i.e. 'theia', 'vscode', etc.
*/
export type pluginEngine = string;
Copy link

Choose a reason for hiding this comment

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

should the type should start with an uppercase ?

Copy link
Author

Choose a reason for hiding this comment

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

yes, you're right, I'll fix it

};
theiaPlugin?: {
frontend?: string;
frontendModuleName?: string;
Copy link

Choose a reason for hiding this comment

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

should we allow frontendModuleName from package.json or it's just inside the PluginLifecycle that we can get it?

Copy link
Author

Choose a reason for hiding this comment

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

I've added that field accidentally and forgot to remove it.
We do not take into account frontendModuleName from package.json for now.

main?: string;
displayName: string;
description: string;
contributes: {};
Copy link

Choose a reason for hiding this comment

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

what is contributes ?

Copy link
Author

Choose a reason for hiding this comment

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

It's added for future use. It is an object which describes contribution points of a plugin.

stopMethod: 'stop',
frontendModuleName: plugin.theiaPlugin!.frontendModuleName,

backendInitPath: 'backend-init-theia.js'
Copy link

Choose a reason for hiding this comment

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

is there a reason why it's a .js file and not an interface with inversify binding ?

like BackendInit with theia and vscode implementation ?

so we need to bind a scanner + a init provider for each plugin type ?

Copy link
Author

@akurinnoy akurinnoy Apr 19, 2018

Choose a reason for hiding this comment

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

There is no particular reason for that, so, I'll revamp this part in the proposed way.

Copy link
Author

Choose a reason for hiding this comment

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

@benoitf
I've started implementing your proposal but then remember that this script has to be runned on plugin host (webworker or node). So code cannot be passed through json-rpc connection.

Copy link

Choose a reason for hiding this comment

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

@akurinnoy on backend it's still sent to webworker ?

Copy link
Author

Choose a reason for hiding this comment

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

not webworker but separate nodejs process

Copy link

Choose a reason for hiding this comment

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

ok

@benoitf
Copy link

benoitf commented Apr 19, 2018

FYI it seems there is a conflicting file on the PR as well

…theia-plugin-metadata

# Conflicts:
#	packages/plugin/src/plugin/plugin-context.ts
Copy link

@benoitf benoitf left a comment

Choose a reason for hiding this comment

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

if you can squash on merge, thx

@akurinnoy akurinnoy merged commit c046695 into theia-demo-plugins:master Apr 20, 2018
benoitf pushed a commit that referenced this pull request Apr 26, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request Apr 27, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request May 2, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request May 29, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request Jun 4, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request Jun 13, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request Jun 18, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request Jun 18, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request Jun 19, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.
benoitf pushed a commit that referenced this pull request Jun 19, 2018
this PR implements
- retrieving metadata from plugins and using the metadata for plugin activation and deactivation;
- pluggability, which allows extending the plugin system to run different types of plugins.

Signed-off-by: Florent BENOIT <fbenoit@redhat.com>
@akurinnoy akurinnoy deleted the theia-plugin-metadata branch July 30, 2019 11:39
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