[Development] Feature freeze exception for QML Language Server

Fabian Kosmale fabian.kosmale at qt.io
Fri Dec 10 09:46:44 CET 2021


Hi,

the qtlanguageserver repository adds no tools. It currently doesn't expose any public API at all. The private API consists of two blocks:
- jsonrpc, an implementation of the JSONRPC protocol
- languageserver, a generic framework for writing a languageserver

As there is no public API, and currently only a single user, we might instead add it as a 3rdparty module in declarative only used by the tool,
if that would make things easier.

Regards,
Fabian

________________________________________
Von: Lars Knoll <lars.knoll at qt.io>
Gesendet: Freitag, 10. Dezember 2021 09:36
An: Fabian Kosmale
Cc: Qt development mailing list; Jani Heikkinen
Betreff: Re: [Development] Feature freeze exception for QML Language Server

As far as I can see, qtlanguageserver is not currently being packaged or part of the release. So we’d need to be adding that module in addition to the feature freeze exception for declarative.

Jani, what do you think? Would you expect any problems/delays adding the qtlanguageserver repository (if it’s not already there)?

Fabian, what kind of APIs/tools does the qtlanguageserver repository add? It’s coming rather late and should have really been added earlier.

I have relatively few concerns about an exception for the QML language server code in qtdeclarative, as nothing depends upon it. So it mainly comes down to what the impact of adding the new repository will be.

Cheers,
Lars

> On 9 Dec 2021, at 15:51, Fabian Kosmale <fabian.kosmale at qt.io> wrote:
>
> Hi,
>
> I'd like to request a feature freeze exception for adding an initial version of
> a QML language server (QTBUG-98759).
>
> It is meant to exist as a tool in the qtdeclarative repository, depending on the
> library in the new Qt Language Server repository
> (https://codereview.qt-project.org/admin/repos/qt/qtlanguageserver). It is meant
> to be released as a Tech Preview. It's initial focus will be on exposing the
> warnings from the semantic analyis which also powers qmllint.
>
> While the necessary foundational work in the language server repository and in
> qtdeclarative has been done, the actual tool which integrates everything is
> still in a somewhat rough shape
> (https://codereview.qt-project.org/c/qt/qtdeclarative/+/384271).
>
> The expected impact on the Qt release is as follows:
> - no impact on public API
> - slight impact on building (qtdeclarative would need to be build after the
>  Qt LSP repository, as that would become an optional dependency)
> - no (expected) impact on private library API; the existing one in declarative
>  should be enough to cover the current needs of the server
> - no impact on tranlsatable strings
> - some impact on documentation (which needs to be added)
>
> I expect the remaining work to be finalized by the end of next week.
>
> The alternative to a feature freeze extension would be to release the LSP server
> as a stand-alone tool linking against private Qt API. We would however like to
> release it as part of the Qt release itself, to simplify both packaging for us
> and installing for our users.
>
> Regards,
> Fabian
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development



More information about the Development mailing list