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.
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
jabsrvandjablsmodules thelsp4jdependencies are required ashowever, the official, canonical, correct I dare say, module names are
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.ktsfiles: 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 actuallyorg.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.javafiles manually to link APIdia docs to the canonicallsp4jmodules. However, this issue should rather be fixed at the root.