Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -293,52 +293,38 @@ extraJavaModuleInfo {
module("com.github.javaparser:javaparser-symbol-solver-core", "com.github.javaparser.symbolsolver.core")
module("net.sf.jopt-simple:jopt-simple", "jopt.simple")

// "com.github.eclipse:org.eclipse.lsp4j", "lsp4j"
// - The name 'org.eclipse.lsp4j' is different than the name derived from the Jar file name 'lsp4j'; turn off 'failOnModifiedDerivedModuleNames' or explicitly allow override via 'overrideModuleName()'
// - Not a module and no mapping defined: lsp4j-0.24.0.jar
module("com.github.eclipse.lsp4j:org.eclipse.lsp4j", "lsp4j") {
overrideModuleName()
module("org.eclipse.lsp4j:org.eclipse.lsp4j", "org.eclipse.lsp4j") {
exportAllPackages()
requireAllDefinedDependencies()
// Note the missing "lsp4j" at the group
mergeJar("com.github.eclipse:lsp4j")
requires("com.google.gson")

}
module("com.github.eclipse.lsp4j:org.eclipse.lsp4j.debug", "lsp4j.debug") {
overrideModuleName()
module("org.eclipse.lsp4j:org.eclipse.lsp4j.debug", "org.eclipse.lsp4j.debug") {
exportAllPackages()
}
module("com.github.eclipse.lsp4j:org.eclipse.lsp4j.generator", "lsp4j.generator") {
overrideModuleName()
module("org.eclipse.lsp4j:org.eclipse.lsp4j.generator", "org.eclipse.lsp4j.generator") {
exportAllPackages()
}
module("com.github.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc", "lsp4j.jsonrpc") {
overrideModuleName()
module("org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc", "org.eclipse.lsp4j.jsonrpc") {
exportAllPackages()
requires("com.google.gson")
requires("java.logging")
}
module("com.github.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc.debug", "lsp4j.jsonrpc.debug") {
overrideModuleName()
module("org.eclipse.lsp4j:org.eclipse.lsp4j.jsonrpc.debug", "org.eclipse.lsp4j.jsonrpc.debug") {
exportAllPackages()
}
module("com.github.eclipse.lsp4j:org.eclipse.lsp4j.websocket", "lsp4j.websocket") {
overrideModuleName()
module("org.eclipse.lsp4j:org.eclipse.lsp4j.websocket", "org.eclipse.lsp4j.websocket") {
exportAllPackages()
requireAllDefinedDependencies()
}
module("com.github.eclipse.lsp4j:org.eclipse.lsp4j.websocket.jakarta", "lsp4j.websocket.jakarta") {
overrideModuleName()
module("org.eclipse.lsp4j:org.eclipse.lsp4j.websocket.jakarta", "org.eclipse.lsp4j.websocket.jakarta") {
exportAllPackages()
requireAllDefinedDependencies()
}
module("jakarta.websocket:jakarta.websocket-api", "jakarta.websocket") {
overrideModuleName()
exportAllPackages()
}
module("javax.websocket:javax.websocket-api", "javax.websocket") {
overrideModuleName()
module("javax.websocket:javax.websocket-api", "javax.websocket.api") {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this adjustment be applied to module("jakarta.websocket:jakarta.websocket-api", "jakarta.websocket") as well?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will test this out later

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, sorry my mistake. It's alright. Jakarta does explicitly declare the module name

module jakarta.websocket {
    exports jakarta.websocket.server;
    
    requires transitive jakarta.websocket.client;
    
    uses jakarta.websocket.server.ServerEndpointConfig.Configurator;
}

For javax.websocket, it's a different story since its automatic module name is indeed javax.websocket.api. Sorry for the wrong alert!

exportAllPackages()
}
module("org.eclipse.xtend:org.eclipse.xtend", "xtend") {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like some module names still don't match. Shouldn't this be module("org.eclipse.xtend:org.eclipse.xtend", "org.eclipse.xtend")?
For some reason, xtend hasn't been an issue for the APIdia doc built so far. Will see how this week's build later this week will turn out and report back issues if any...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I will check this one out as well

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a relocation note (to group org.eclipse.xtext) for this artifact since version 2.40.0: https://repo1.maven.org/maven2/org/eclipse/xtend/org.eclipse.xtend.relocated.parent/2.40.0/org.eclipse.xtend.relocated.parent-2.40.0.pom
Then, neither in group org.eclipse.xtext nor in org.eclipse.xtend there exists an artifact plainly named org.eclipse.xtend. There are org.eclipse.xtend.lib and org.eclipse.xtend.core. My educated guess is that you want lib. So, I suppose this entry should be changed to either of (or both if necessary)

module("org.eclipse.xtext:org.eclipse.xtend.lib", "org.eclipse.xtend.lib")
module("org.eclipse.xtext:org.eclipse.xtend.core", "org.eclipse.xtend.core")

The first version under the new location has been released recently, so I suppose it's most future-proof to follow this move from the start...

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the record, this did not cause any problem for the recent doc build. However, my system does not consider xtend a dependency of any JabRef module at all. Consequently, it's not listed on https://apidia.net/java/JabRef/6.0-snapshot-2025-09-12/
That means, it is not a compile-time dependency: Calling javac with JabRef sources does not require this dependency. Sure, it might be a runtime-only dependency. If you are not sure why it is needed, you should perhaps revisit it.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, indeed, maybe it was required in the past as transitive dependency for some tooling

Expand Down
3 changes: 2 additions & 1 deletion jabls/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ dependencies {
implementation("org.slf4j:slf4j-api")

// LSP4J for LSP Server
implementation("com.github.eclipse:lsp4j")
implementation("org.eclipse.lsp4j:org.eclipse.lsp4j")
implementation("org.eclipse.lsp4j:org.eclipse.lsp4j.websocket")

// route all requests to java.util.logging to SLF4J (which in turn routes to tinylog)
testImplementation("org.slf4j:jul-to-slf4j")
Expand Down
8 changes: 4 additions & 4 deletions jabls/src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
module org.jabref.jabls {
exports org.jabref.languageserver;
opens org.jabref.languageserver to lsp4j, lsp4j.jsonrpc, com.google.gson;
opens org.jabref.languageserver to org.eclipse.lsp4j, org.eclipse.lsp4j.jsonrpc, com.google.gson;
exports org.jabref.languageserver.controller;
exports org.jabref.languageserver.util;

requires org.jabref.jablib;

requires org.slf4j;

requires lsp4j;
requires lsp4j.jsonrpc;
requires lsp4j.websocket;
requires org.eclipse.lsp4j;
requires org.eclipse.lsp4j.jsonrpc;
requires org.eclipse.lsp4j.websocket;
requires com.google.gson;
}
2 changes: 1 addition & 1 deletion jabsrv/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dependencies {
implementation("org.hibernate.validator:hibernate-validator")

// LSP4J for LSP Server
implementation("com.github.eclipse:lsp4j")
implementation("org.eclipse.lsp4j:org.eclipse.lsp4j")

implementation("com.konghq:unirest-modules-gson")

Expand Down
3 changes: 2 additions & 1 deletion versions/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ dependencies.constraints {
api("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.19.2")
api("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.20.0")
api("com.fasterxml:aalto-xml:1.3.3")
api("com.github.eclipse:lsp4j:0.24.0")
api("org.eclipse.lsp4j:org.eclipse.lsp4j:0.24.0")
api("org.eclipse.lsp4j:org.eclipse.lsp4j.websocket:0.24.0")
api("com.github.javakeyring:java-keyring:1.0.4")
api("com.github.javaparser:javaparser-symbol-solver-core:3.27.0")
api("com.github.jknack:handlebars-helpers:4.3.1") // Required by Wiremock - and our patching of Wiremock
Expand Down
Loading