Creation Review

Type
Creation
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Proposal

Eclipse LSP4Jakarta, the Language Server for Jakarta EE

Friday, September 18, 2020 - 11:09 by Kevin Sutter
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

Jakarta EE is a set of specifications that enables the world wide community of java developers to work on java enterprise applications. The specifications are developed by well known industry leaders that instills confidence in technology developers and consumers.  Reference jakarta.ee.

Language Server Protocol has become the de facto way for providing language support in tools, editors and IDEs -- A common approach to provide language support for multiple different tools with one common implementation.  Eclipse Foundation already hosts a project for Java language server. It’s natural to consider a language server for Jakarta EE to take cloud-native development with Jakarta EE to the next level of ease of use.

Scope

The Eclipse LSP4Jakarta (Language Server for Jakarta EE) project provides core language support capabilities for the specifications defined under the Jakarta EE (EE4J) umbrella.

The LSP4Jakarta project will build on top of LSP4J and provides the core language server implementation.  The project will also include the client to enable the Language Server support in Eclipse (desktop) IDE.

Description

A language server implementation based on the Language Server Protocol for the Jakarta EE programming model.  This LSP4Jakarta (Language Server for Jakarta EE) will provide core language support capabilities (such as code complete, diagnostics, quick fixes) to enable developers to easily and quickly develop cloud-native applications using the Jakarta EE APIs.

The Eclipse client for the Language Server for Jakarta EE will surface the capabilities provided by the language server to developers using the Eclipse (desktop) IDE.

Why Here?

The project has a close affinity with the Jakarta EE (EE4J) and LSP4J projects under Eclipse Foundation, so the Eclipse Foundation is a natural choice for hosting the project.

Future Work

By starting this project at Eclipse, we will allow for this project to grow after the initial set of students complete their work.  Hopefully, the students will enjoy the development work and will continue with it even after the "university work" is complete.  We will be keeping the WTP project abreast of this work as well and hopefully recruit some assistance.  We will also recruit others within the Jakarta EE working group to participate to help grow this community and keep consistent with the upcoming Jakarta EE versions.

Project Scheduling

This is starting off as a university student-led open-source development effort (see https://canosp.ca/).  They have developed weekly sprints and will be driving towards this Language Server for Jakarta EE goal all semester.  If necessary, the project will continue into the Spring semester as well.  Goal is to have something demonstratable by 1Q2021.

Project Leads
Interested Parties
  • CANOSP (Canada Open Source Project)
  • IBM
  • Red Hat
  • WTP Project

 

Initial Contribution

https://github.com/MicroShed/jakarta-ls (not much yet, since this is a student-driven open-source project being mentored by some IBMers)

Source Repository Type