Skip to content

lsp4j dependencies are obfuscated/not called by their official names #13702

@Stewori

Description

@Stewori

Is your suggestion for improvement related to a problem? Please describe.
I'm always frustrated when... dependencies are obfuscated by using non-canonical names.

Describe the solution you'd like
In the jabsrv and jabls modules the lsp4j dependencies are required as

    requires lsp4j;
    requires lsp4j.jsonrpc;
    requires lsp4j.websocket;
    requires lsp4j.websocket.jakarta;

however, the official, canonical, correct I dare say, module names are

    requires org.eclipse.lsp4j;
    requires org.eclipse.lsp4j.jsonrpc;
    requires org.eclipse.lsp4j.websocket;
    requires org.eclipse.lsp4j.websocket.jakarta;

Those module names were chosen by the maintainers of those libs and cannot be changed by a third party. I know, there is some mapping in place in build.gradle.kts files: This is dependency obfuscation as it makes identifying the dependency unnecessarily difficult for code analyzers.

That said, even the maven group used in the kts files is strangely com.github.eclipse.lsp4j, which does not exist on maven central. The group is actually org.eclipse.lsp4j.

Why not just use the original maven central dependency and call the modules by their correct names?
Mapping lines like module("com.github.eclipse.lsp4j:org.eclipse.lsp4j", "lsp4j") should be unnecessary then.

Currently I am patching the module-info.java files manually to link APIdia docs to the canonical lsp4j modules. However, this issue should rather be fixed at the root.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev: build-systemgood second issueIssues that involve a tour of two or three interweaved components in JabRef

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions