-
Notifications
You must be signed in to change notification settings - Fork 345
[java-docker] use builtin and external ext #287
Conversation
7e4f8ae
to
31f63a0
Compare
@marcdumais-work @vince-fugnitto Would be fine If i do One important thing is Electron. It is not clear how to bundle extensions yet. An end user cannot use env variables or cli options to pick up extensions, they should be inside the bundled app and picked up automatically. |
Please go ahead :) I wanted to try it out for an example image (java) so I could iron out any details and see what needs to be done for other images.
I believe @lmcbout had some experience picking up plugins for Electron applications if we get blocked. |
I've seen the issue on Theia repo where it was recommended to configure an env variable, but for builtins it is not how it should work. A user should download distributable, run it and VS Code extensions should be there already, without changing any env variables. I have not seen anyone to figure it out and it will be important for all Electron based products if we remove textmate grammars Theia extension. |
In our current internal application we do have the built-ins and some extra VS Code extensions part of the bundle (MSI installer for Window, AppImage for Linux). We have our own version of So it does rely on the env var mechanism but the user needs not set it or care about it. This leaves env var |
Does not sound super clean :) Can we generalize it in Theia to a solution without using custom electron-main.js? |
Sure. Maybe the plugins system could look-for a plugins folder at a given path relative to the app, that would be used if present, without depending on any env var? Or maybe you have other ideas. For reference, he're how we do it ATM in our custom process.env.THEIA_DEFAULT_PLUGINS = `local-dir:${resolve(__dirname, '..', '..', '..', '..', 'plugins')}`; |
No ideas, i don't have much experience with Electron. We can try whatever you propose. Maybe someone come up with a better idea on the PR. |
Let's move a discussion here: eclipse-theia/theia#6946 |
Unfortunately, we cannot successfully update the applications until We either need to:
|
@vince-fugnitto yes, it won't work, but we can upgrade next images for now? Unfortunately it won’t work either since I reference the |
@@ -15,20 +15,89 @@ | |||
"@theia/file-search": "next", | |||
"@theia/getting-started": "next", | |||
"@theia/git": "next", | |||
"@theia/java": "next", | |||
"@theia/json": "next", |
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 think maybe we're keeping this one because the json built-in is not working yet?
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.
Correct, the vscode-builtin-json-language-features
is not yet working so I could not add it at this time (eclipse-theia/theia#6623).
vscode-builtin-json
is included to add JSON syntax highlighting and snippet support since @theia/textmate
grammars is removed.
theia-java-docker/next.package.json
Outdated
"@theia/search-in-workspace": "next", | ||
"@theia/terminal": "next", | ||
"@theia/textmate-grammars": "next", | ||
"@theia/tslint": "next", | ||
"@theia/typescript": "next", | ||
"typescript": "latest" |
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.
needed?
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.
needed?
I wasn't sure, it looks like all images include typescript
as a dependency.
Got these errors: Maybe setting update: confirmed by setting java path through a preference, then the LS starts. |
I tested a bit with a few sample Java projects. Once the JDK path issue is fixed, the image seems to work decently well. So looking good so far. |
31f63a0
to
7e427c4
Compare
- updated the `theia-java-docker:latest` image to use builtins and external VS Code extensions. - updated the `theia-java-docker:next` image to use builtins and external VS Code extensions. - updated the `JAVA_HOME` environment variable Signed-off-by: Vincent Fugnitto <vincent.fugnitto@ericsson.com>
7e427c4
to
f30f9a7
Compare
@marcdumais-work I've updated based on previous feedback, and since |
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.
LGTM - quickly tested both next and latest - both compile and start, both successfully spawn the Java LS.
Merging |
@akosyakov do you still plan on migrating the |
What it does
Update the
theia-java-docker:next
image to include builtins and external VS Code extensionsHow to test
Build and verify the changes (that plugins are downloaded and picked up when started)
Review checklist
Reminder for reviewers
Signed-off-by: Vincent Fugnitto vincent.fugnitto@ericsson.com