[jbosstools-issues] [JBoss JIRA] (JBIDE-25894) Evaluate providing Java EE support as jdt.ls extensions
Mickael Istria (JIRA)
issues at jboss.org
Thu Apr 19 09:58:00 EDT 2018
[ https://issues.jboss.org/browse/JBIDE-25894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mickael Istria updated JBIDE-25894:
-----------------------------------
I believe that this is currently a too expensive task to work on. I expected JDT-LS would be more extensible and able to consume typical Eclipse IDE extensions to forward it through LSP, but it isn't really extensible at the moment.
I've opened a ticket to JDT-LS to discuss extensibility, and lack of ability to reuse the existing ecosystem of extensions for Eclipse IDE into JDT-LS. At the moment, it seems like JDT-LS devs are considering implementing extensibility into JDT-LS as specific extension points (basically mimicking most extension points for JDT-UI). I've mentioned there my opinion that it's IMO not an affordable task -it took a dozen of years of very competent and numerous developers to do it for JDT UI-, and that it would be better (for Cloud use-cases) to consider ways to re-use existing extensions and extension points rather than creating new ones.
The discussions about extensibility stopped there.
One sub-topic that was discussed in obviously hardware/CPU/RAM cost. Indeed, if we want JDT-LS to become extensible and/or reuse existing ecosystem of Eclipse extensions, it's going to make it bigger, it's not something we can avoid to get the resource requirements growing as we add features. On the other hand, growing an existing LS which already have good support for Java to add Java EE features is still going to be cheaper that mulitplying LSs: one for plain Java, one for Java EE, one for Spring... which would have to duplicate work.
So, as part of this "be ready for Language Servers to get bigger as it gets richer", one topic that has been mentioned is evaluating possibilities of multi-tenant/multi-users Eclipse IDE workspaces. This would allow to get 1 LS serving multiple users/tasks, resulting in most resources being shared by multiple users, which should make it a relatively cheap resources/user ration I've opened a ERT-622 about it and this is a path we're currently trying to evaluate as we believe it would be very profitable for all Eclipse-based language servers, and all Eclipse-based apps in general.
It wouldn't be an easy task though, but it's too early to get some estimate.
> Evaluate providing Java EE support as jdt.ls extensions
> -------------------------------------------------------
>
> Key: JBIDE-25894
> URL: https://issues.jboss.org/browse/JBIDE-25894
> Project: Tools (JBoss Tools)
> Issue Type: Enhancement
> Components: jsp/jsf/xml/html-source-editing
> Reporter: Mickael Istria
> Assignee: Mickael Istria
> Fix For: 4.6.x
>
>
> Jdt-LS relies on JDT for most features.
> WTP and JBoss Tools do extend JDT to provide additional features, such as Jax-RS completion.
> It would be worth investigating whether just adding a few bundles from wtp and JBoss Tools into JDT-LS can turn JDT-LS into a powerful tool for Java EE as well, and to evaluate what must and can be improved to enable it.
> As a good Java EE support requires a good Java support first, it's very likely that extending JDT-LS (on demand) for Java EE is the most productive and efficient way to have a Java EE language-server.
> As Jakarta EE moves to Eclipse.org, there are some discussions to improve JEE tools in Eclipse IDE and in general. So building on top of WebTools/JBoss Tools and allowing webtools/jbosstools to run in JDT-LS wo uld fit in the community mindset and may attract 3rd-party contributors to Eclipse Webtools.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jbosstools-issues
mailing list