-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
feat(vscode): add support for "workbench.extensions.installExtension" #8745
feat(vscode): add support for "workbench.extensions.installExtension" #8745
Conversation
9741a4e
to
2c1b65d
Compare
packages/plugin-ext-vscode/src/browser/plugin-vscode-commands-contribution.ts
Outdated
Show resolved
Hide resolved
Am I missing anything important or is it really that simple? I could not find any existing tests for this layer, could you guide me a bit here? |
63f44b7
to
097079f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fgreinacher can you update the 'how to test' section of the pull-request so reviewers can easily review and test the functionality? Generally, in order to review changes to the plugin API, a corresponding plugin is provided or implemented to validate the feature.
I created a quick test plugin to verify this PR. But the changes are not working on my side atm. Steps
|
Thanks a ton @dukengn! I played around a bit. The problem is that the plugin server currently cannot deploy |
62a341b
to
1e53885
Compare
packages/plugin-ext-vscode/src/browser/plugin-vscode-commands-contribution.ts
Show resolved
Hide resolved
packages/plugin-ext/src/main/node/resolvers/plugin-local-file-resolver.ts
Outdated
Show resolved
Hide resolved
1e53885
to
e7dd47c
Compare
@vince-fugnitto I added some test steps, hope they are understandable! Looking forward to some feedback! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe that the following comment will need to be addressed:
I'm however not sure about the proper approach, for example if we should merge file
and directory
resolvers.
packages/plugin-ext/src/main/node/resolvers/plugin-local-file-resolver.ts
Outdated
Show resolved
Hide resolved
packages/plugin-ext/src/main/node/resolvers/plugin-local-file-resolver.ts
Outdated
Show resolved
Hide resolved
0afd653
to
ea032a2
Compare
I unified the common logic in ea032a2. |
@fgreinacher does this PR enables installing VS Code extensions by ID from Microsoft's Marketplace? |
Nope, that is not be allowed. It just adds support for the two workflows mentioned in the "How to test" section where in the "Install by ID" workflow the data source would be the registry the VSX extension is connected to, by default OpenVSX.org. |
@fgreinacher let me know when you fix the latest comment from @vince-fugnitto and I'll merge it. |
2816f57
to
2761092
Compare
@vince-fugnitto Good hint, I updated the changelog. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fgreinacher please fix the failing CI: https://travis-ci.com/github/eclipse-theia/theia/jobs/444517542#L541-L543.
0a21765
to
c372d16
Compare
CI does not seem to be triggered anymore. Any ideas @vince-fugnitto? |
I'm not sure, an easy fix would be to perform an |
I believe it is related to the changes by Travis: #8765 (comment). |
😿 |
@fgreinacher could you try this suggestion ^^ in order to retrigger the tests on Travis? |
We have run out of credits on Travis so the CI is temporarily disabled for all PRs at the moment. |
ffc6194
to
53d3f83
Compare
packages/plugin-ext/src/main/node/resolvers/local-directory-plugin-deployer-resolver.ts
Outdated
Show resolved
Hide resolved
packages/plugin-ext/src/main/node/resolvers/local-file-plugin-deployer-resolver.ts
Outdated
Show resolved
Hide resolved
0ad933d
to
15b935b
Compare
Hm, one job seems to be stuck: https://github.com/eclipse-theia/theia/pull/8745/checks?check_run_id=1481816411 |
I've rerun it |
I saw that check has failed on other PRs as well but for a different reason. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, one job seems to be stuck: #8745 (checks)
I saw that check has failed on other PRs as well but for a different reason.
I'm not sure if can skip it to merge the PR.
cc @kittaakos @vince-fugnitto
@theia/example-browser: Error: The number of constructor arguments in the derived class LocalDirectoryPluginDeployerResolver must be >= than the number of constructor arguments of its base class.\n at
/home/runner/work/theia/theia/node_modules/inversify/lib/planning/planner.js:111:27\n at Array.forEach (<anonymous>)\n at _createSubRequests
(/home/runner/work/theia/theia/node_modules/inversify/lib/planning/planner.js:94:20)\n at
/home/runner/work/theia/theia/node_modules/inversify/lib/planning/planner.js:115:17\n at Array.forEach (<anonymous>)\n at
/home/runner/work/theia/theia/node_modules/inversify/lib/planning/planner.js:114:26\n at Array.forEach (<anonymous>)\n at _createSubRequests
(/home/runner/work/theia/theia/node_modules/inversify/lib/planning/planner.js:94:20)\n at
/home/runner/work/theia/theia/node_modules/inversify/lib/planning/planner.js:115:17\n at Array.forEach (<anonymous>)
https://github.com/eclipse-theia/theia/pull/8745/checks?check_run_id=1482104865#step:7:24
Looking at the log, I think the CI is failing because of the changes from this PR?
packages/plugin-ext/src/main/node/resolvers/local-file-plugin-deployer-resolver.ts
Outdated
Show resolved
Hide resolved
… command Signed-off-by: Florian Greinacher <[email protected]>
15b935b
to
07504a8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've re-checked it again after the changes have been made.
Works as expected. Thanks!
What it does
Adds support for the
workbench.extensions.installExtension
command (part of #8387).We want this because we're considering to use https://github.com/joelspadin-garmin/vscode-private-extension-manager which depends on this API to install extensions.
How to test
plugins
directoryredhat.java
).file:///home/gitpod/temp/some-other.vsix
)Review checklist
Reminder for reviewers