eclipse / lsp4jakarta

Language Server for Jakarta EE
Eclipse Public License 2.0
33 stars 51 forks source link

Should the JakartaProjectLabelProvider return finer grained labels? #512

Open mrglavas opened 9 months ago

mrglavas commented 9 months ago

This came up during a code review of Liberty Tools for IntelliJ which included a ported version of JakartaProjectLabelProvider. See discussion here: https://github.com/OpenLiberty/liberty-tools-intellij/pull/614#discussion_r1463658593.

Currently JakartaProjectLabelProvider is determining that a project is a Jakarta project by merely checking for the availability of jakarta.ws.rs.GET on the classpath. Application servers such as Open Liberty are composable and users may specify configuration (e.g. server.xml features for a Liberty application) that only loads/utilizes a subset of Jakarta EE functionality like JPA or selects a specific version of Jakarta EE (e.g. 10). We thought this might be a good case for defining finer grained labels for each of the separately loadable modules and versions of Jakarta EE. A similar argument could also be made for the Microprofile label provider from LSP4MP.