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

Update vscode-java extension to 0.82.0 version #20134

Closed
3 tasks done
svor opened this issue Jul 15, 2021 · 14 comments
Closed
3 tasks done

Update vscode-java extension to 0.82.0 version #20134

svor opened this issue Jul 15, 2021 · 14 comments
Assignees
Labels
area/plugin-registry kind/task Internal things, technical debt, and to-do tasks to be performed. new&noteworthy For new and/or noteworthy issues that deserve a blog post, new docs, or emphasis in release notes severity/P1 Has a major impact to usage or development of the system. sprint/current
Milestone

Comments

@svor
Copy link
Contributor

svor commented Jul 15, 2021

Is your task related to a problem? Please describe.

Che vscode-java plugin is outdated, its version is v0.75.0.
Currently latest released version of vscode-java extension is 0.80.0.

Describe the solution you'd like

We need to upgrade vscode-java plugin in che-plugin registry. For this need to do some steps:

  • Try latest vscode-java extension in vanilla Theia and investigate what API it is required and what work should be done on Theia side
  • Update existing redhat/java11 extension in che-theia-plugins.yaml.
  • Test if the extension works es expected with existing java-based devfiles on Che

Release Notes:
Upgrade redhat.java VS Code extension to v0.82.0

@svor svor added kind/task Internal things, technical debt, and to-do tasks to be performed. team/plugins severity/P1 Has a major impact to usage or development of the system. area/plugin-registry labels Jul 15, 2021
@svor svor added this to the 7.34 milestone Jul 15, 2021
@svor svor mentioned this issue Jul 15, 2021
22 tasks
@tsmaeder
Copy link
Contributor

The Theia API check tool reports these missing elements:

  "missingSymbols": [
    "\"vscode\".CodeActionKind.QuickFix",
    "\"vscode\".CodeActionKind.Refactor",
    "\"vscode\".CodeActionKind.RefactorExtract",
    "\"vscode\".CodeActionKind.RefactorInline",
    "\"vscode\".QuickPick.onDidHide",
    "\"vscode\".QuickPick.show",
    "\"vscode\".QuickPick.step",
    "\"vscode\".QuickPick.title",
    "\"vscode\".QuickPick.totalSteps",
    "\"vscode\".Selection.end",
    "\"vscode\".Selection.isEmpty",
    "\"vscode\".Selection.start",
    "\"vscode\".SymbolKind.toString"
  ],
  "missingCommands": [
    "editor.action.goToLocations",
    "editor.action.rename",
    "editor.action.showReferences",
    "editor.insertSpaces",
    "editor.tabSize",
    "java.action.organizeImports",
    "java.edit.organizeImports",
    "java.execute.workspaceCommand",
    "markdown.api.render",
    "markdown.css",
    "workbench.action.manageTrust",
    "workbench.action.openSettings",
    "workbench.action.openSettingsJson",
    "workbench.action.reloadWindow",
    "workbench.extensions.installExtension"
  ],
  "dynamicCommandCalls": [
    "action.command (C:/Users/thomas/code/chedev/vscode-java/src/standardLanguageClient.ts 168:31)",
    "error.command (C:/Users/thomas/code/chedev/vscode-java/src/extension.ts 140:28)",
    "params.command (C:/Users/thomas/code/chedev/vscode-java/src/standardLanguageClient.ts 176:35)",
    "params.command (C:/Users/thomas/code/chedev/vscode-java/src/standardLanguageClient.ts 180:28)",
    "refactorEdit.command.command (C:/Users/thomas/code/chedev/vscode-java/src/refactorAction.ts 225:42)",
    "refactorEdit.command.command (C:/Users/thomas/code/chedev/vscode-java/src/refactorAction.ts 227:42)"
  ]

@tsmaeder
Copy link
Contributor

false positives:

  • CodeActionKinds are all implemented, this the reports are because these are static fields.
  • QuickPick items are implemented, but in the QuickInput super-interface
  • Selection stuff again is implemented in the super-interface Range?
  • SymbolKind.toString() is implicit, since all enums have a "toString()" method.

@svor
Copy link
Contributor Author

svor commented Jul 15, 2021

@tsmaeder CHANGELOG 0.80.0 contains information about supporting Workspace Trust:

enhancement - Support Workspace Trust. See #1926.

Am i right that this functionality won't work in Theia since it doesn't provide Workspace Trust?

@tsmaeder
Copy link
Contributor

Theia does not have that concept. As far as I understand the code in VSCode-Java, they treat workspaces as trusted if the API is not there.

@tsmaeder
Copy link
Contributor

So functionality should work.

@svor svor removed this from the 7.34 milestone Aug 11, 2021
@svor svor mentioned this issue Sep 7, 2021
26 tasks
@svor svor removed the sprint/next label Sep 8, 2021
@svor svor added this to the 7.37 milestone Sep 8, 2021
@svor svor mentioned this issue Sep 23, 2021
25 tasks
@svor svor modified the milestones: 7.37, 7.38 Sep 30, 2021
@svor svor modified the milestones: 7.38, 7.39 Oct 20, 2021
@svor svor removed this from the 7.39 milestone Nov 11, 2021
@svor svor mentioned this issue Nov 30, 2021
19 tasks
@tsmaeder
Copy link
Contributor

While 0.82 works (with some messages in the log) in the exact theia version we're using in che-theia, the startup of the extension fails when running in a java11 workspace on the che dogfooding instance.

@tsmaeder
Copy link
Contributor

When googling for the error message "TypeError: Class extends value undefined is not a constructor or null", one mostly gets answers related to circular dependencies or improper use of import or require

@tsmaeder
Copy link
Contributor

When running the the Java plugin in a self-hosting workspace, the plugin starts up correctly. This looks more and more to be an artifact of how we build the plugin host executable.

@tsmaeder
Copy link
Contributor

Spoke too soon: now I can actually run the java plugin in my outer self-hosting workspace. Not sure what changed from two days ago.

@svor svor changed the title Update vscode-java extension to the latest version Update vscode-java extension to 0.82.0 version Dec 17, 2021
@svor
Copy link
Contributor Author

svor commented Dec 17, 2021

closed by eclipse-che/che-plugin-registry#1060

@svor svor closed this as completed Dec 17, 2021
@svor svor added this to the 7.41 milestone Dec 17, 2021
@benoitf benoitf added new&noteworthy For new and/or noteworthy issues that deserve a blog post, new docs, or emphasis in release notes status/release-notes-review-needed Issues that needs to be reviewed by the doc team for the Release Notes wording labels Dec 21, 2021
@benoitf
Copy link
Contributor

benoitf commented Dec 21, 2021

@svor is that downstreaming this work is planned ?

@svor
Copy link
Contributor Author

svor commented Dec 21, 2021

@benoitf We haven't done it for downstream yet. I'll create an issue for that

@svor
Copy link
Contributor Author

svor commented Dec 21, 2021

here it is: https://issues.redhat.com/browse/CRW-2590

@devstudio-release
Copy link

sync'd to Red Hat JIRA https://issues.redhat.com/browse/CRW-2596

@max-cx max-cx removed the status/release-notes-review-needed Issues that needs to be reviewed by the doc team for the Release Notes wording label Jan 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/plugin-registry kind/task Internal things, technical debt, and to-do tasks to be performed. new&noteworthy For new and/or noteworthy issues that deserve a blog post, new docs, or emphasis in release notes severity/P1 Has a major impact to usage or development of the system. sprint/current
Projects
None yet
Development

No branches or pull requests

5 participants