redhat-developer / vscode-server-connector

📦 Connects Visual Studio Code to your server adapters and run, deploy apps !!
Eclipse Public License 2.0
57 stars 26 forks source link

Refactor Server Connector to make it able to interact with external extensions #370 #373

Closed lstocchi closed 5 years ago

lstocchi commented 5 years ago

370

This is the first prototype to make server connector works with external rsp providers. To make some tests you can use this external rsp provider https://github.com/lstocchi/external-rsp-provider-sample I also created this npm package which is useful to create a new rsp provider https://github.com/lstocchi/vscode-server-connector-api

Currently the external rsp provider can only start a server. Tests are failing inside server connector, name of external rsp provider is hard-coded and i need to write a lot of tests for the new stuff. I'm going to fix them in the next days but i'm creating this PR so you can start checking the code.

lstocchi commented 5 years ago

serverExplorer.RSPServersStatus: why use a capital letter to start an instance var?

because it's an acronym.

Microsoft suggests to use capital letters only if acronyms consist of 2 chars. In this case they are 3 so following their rule it should be RspServersStatus - https://stackoverflow.com/a/15526526 - but i found that in some occasion they don't follow this rule at all ... e.g CloudExplorerAPI, ClusterProviderAPI (taken from vscode kubernetes)

From an aesthetic point of view i prefer all capital letters but we should definetly stick with a coding style. If you have some preference please let me know.

codecov[bot] commented 5 years ago

Codecov Report

Merging #373 into master will decrease coverage by 9.21%. The diff coverage is 38.3%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #373      +/-   ##
==========================================
- Coverage   53.24%   44.02%   -9.22%     
==========================================
  Files          13       15       +2     
  Lines         879      988     +109     
  Branches      196      223      +27     
==========================================
- Hits          468      435      -33     
- Misses        411      553     +142
Impacted Files Coverage Δ
src/rsp/requirements.ts 0% <ø> (ø)
src/serverEditorAdapter.ts 5.71% <0%> (-23.6%) :arrow_down:
src/debug/javaDebugSession.ts 85.71% <100%> (ø) :arrow_up:
src/api/implementation/rspProviderAPI.ts 15.15% <15.15%> (ø)
src/rsp/client.ts 31.25% <31.25%> (ø)
src/extensionApi.ts 37.9% <39.02%> (-3.18%) :arrow_down:
src/api/implementation/apiBroker.ts 40% <40%> (ø)
src/serverExplorer.ts 55.43% <47%> (-9.73%) :arrow_down:
src/api/implementation/apiUtils.ts 50% <50%> (ø)
src/extension.ts 34.84% <56.52%> (-17.97%) :arrow_down:
... and 8 more

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 ebf684e...1a65904. Read the comment docs.

codecov[bot] commented 5 years ago

Codecov Report

Merging #373 into master will increase coverage by 6.02%. The diff coverage is 61.94%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #373      +/-   ##
==========================================
+ Coverage   53.24%   59.26%   +6.02%     
==========================================
  Files          13       14       +1     
  Lines         879     1004     +125     
  Branches      196      241      +45     
==========================================
+ Hits          468      595     +127     
+ Misses        411      409       -2
Impacted Files Coverage Δ
src/serverEditorAdapter.ts 5.71% <0%> (-23.6%) :arrow_down:
src/debug/javaDebugSession.ts 85.71% <100%> (ø) :arrow_up:
src/extensionApi.ts 44.22% <49.29%> (+3.14%) :arrow_up:
src/api/implementation/apiUtils.ts 50% <50%> (ø)
src/api/implementation/apiBroker.ts 60% <60%> (ø)
src/extension.ts 43.75% <65.21%> (-9.06%) :arrow_down:
src/rsp/client.ts 68.75% <68.75%> (ø)
src/serverExplorer.ts 74.67% <79.86%> (+9.51%) :arrow_up:
src/api/implementation/rspProviderAPI.ts 97.22% <97.22%> (ø)
... and 7 more

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 ebf684e...487b0f0. Read the comment docs.

lstocchi commented 5 years ago

Finished writing additional tests. Now the code coverage is over 55% and we still need to add the other PR which contains tests related to the editor.

lstocchi commented 5 years ago

Update: thanks to @robstryker who uploaded two different rsp servers (one for wildfly/eap, one for minishift/cdk) i was able to create a new rsp-provider

1) https://github.com/lstocchi/minishift-rsp-provider-sample 2) https://github.com/lstocchi/wildfly-eap-rsp-provider-sample

Done some quick test and Server Connector UI seems working great with multiple rsp providers.

image

If you want to do some tests, just download the rsp-provider samples, create a vsix packages from them (cmd -> vsce package) and upload them as additional extensions.

lstocchi commented 5 years ago

Closing ... PR can be found on new repo https://github.com/redhat-developer/vscode-rsp-ui