Skip to content
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

Refactor plugin lifecycle code #3871

Open
mmorhun opened this issue Dec 20, 2018 · 6 comments
Open

Refactor plugin lifecycle code #3871

mmorhun opened this issue Dec 20, 2018 · 6 comments
Assignees
Labels
plug-in system issues related to the plug-in system quality issues related to code and application quality

Comments

@mmorhun
Copy link
Contributor

mmorhun commented Dec 20, 2018

We must revise code which is responsible for plugins start and stop and also parts which is responsible for rpc connection.
Another thing to be done is to separate hosted stuff and make hosted folder contain only hosted instance related stuff (including moving hosted related bindings there).

@evidolob
Copy link
Contributor

evidolob commented May 6, 2019

Tasks:

  • Extract 'Hosted' (plugin development) code in separate extension (plugin-dev?)
  • Remove Hosted prefix in file name and type names where it's not needed or use proper name instead. Use suggestion from Extract 'Hosted mode' in separate extension #5261 (comment)
  • Split plugin-ext in extension(Theia UI part) and plugin runtime library(code which running in plugin node or webworker)

  • Move api folder in common folder

@evidolob evidolob self-assigned this May 6, 2019
@benoitf
Copy link
Contributor

benoitf commented May 14, 2019

hello, is source code will only be in folders like src/browser, src/common and src/node, etc after that ?

@evidolob
Copy link
Contributor

Yes

@tsmaeder
Copy link
Contributor

I don't really understand what "hosted" stands for. Also, I would separate the stuff that runs a second instance for self-hosting into a separate module (that's what I first though "hosted" means, but that is not true).

@akosyakov
Copy link
Member

akosyakov commented May 27, 2019

It would be good to discuss decomposition on Theia dev conf if possible to cover different scenarios.

@tsmaeder
Copy link
Contributor

tsmaeder commented May 28, 2019

A couple more things that I think we should do:

  1. Separate plugin-ext and plugin-ext-theia
    The mechanism for running API should be separated form the code that provides the "theia" namespace.
  2. Make "vscode" and "theia" contributed API's
    We have extensions points "(Main|Ext)PluginApiProvider" for contributing API and should use them. Let's eat our own dogfood!
  3. Make HostedPluginProcess just another ServerPluginRunner. I see no reason why it's treated specially.
  4. Provide a library for making backend init functions. For example, the code overriding the module loading is alway the same and copied for each API contribution

@akosyakov @benoitf @evidolob discuss next week in Stockholm? Also, we need a plan on how to introduce the refactorings to the community, since this may be breaking.

evidolob added a commit that referenced this issue Jun 3, 2019
evidolob added a commit that referenced this issue Jun 3, 2019
evidolob added a commit that referenced this issue Jun 3, 2019
evidolob added a commit that referenced this issue Jun 4, 2019
evidolob added a commit that referenced this issue Jun 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plug-in system issues related to the plug-in system quality issues related to code and application quality
Projects
None yet
Development

No branches or pull requests

6 participants