Skip to content

Commit 3c99cba

Browse files
committed
feat: log server version+commit on startup
Signed-off-by: Fred Bricon <fbricon@gmail.com>
1 parent 050e622 commit 3c99cba

1 file changed

Lines changed: 25 additions & 8 deletions

File tree

org.eclipse.jdt.ls.core/src/org/eclipse/jdt/ls/core/internal/handlers/BaseInitHandler.java

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,10 @@ public BaseInitHandler(ProjectsManager projectsManager, PreferenceManager prefer
6161
}
6262

6363
public InitializeResult initialize(InitializeParams param) {
64-
logInfo("Initializing Java Language Server " + JavaLanguageServerPlugin.getVersion());
64+
var jdtlsInfo = getJdtLsInfo();
65+
logInfo("Initializing " + jdtlsInfo.details());
6566
InitializeResult result = new InitializeResult();
66-
setServerInfo(result);
67+
result.setServerInfo(jdtlsInfo.toServerInfo());
6768
handleInitializationOptions(param);
6869
registerCapabilities(result);
6970

@@ -73,14 +74,30 @@ public InitializeResult initialize(InitializeParams param) {
7374
return result;
7475
}
7576

76-
public void setServerInfo(InitializeResult initializeResult) {
77+
JdtlsInfo getJdtLsInfo() {
7778
var rb = ResourceBundle.getBundle("git");
78-
79-
var serverInfo = new ServerInfo();
8079
var name = "JDT Language Server (%s)".formatted(JDTEnvironmentUtils.isSyntaxServer() ? "Syntax" : "Standard");
81-
serverInfo.setName(name);
82-
serverInfo.setVersion(rb.getString("git.build.version"));
83-
initializeResult.setServerInfo(serverInfo);
80+
return new JdtlsInfo(name,
81+
rb.getString("git.build.version"),
82+
JavaLanguageServerPlugin.getVersion(),
83+
rb.getString("git.commit.id.abbrev"),
84+
rb.getString("git.commit.message.short"));
85+
}
86+
87+
static record JdtlsInfo(String name, String buildVersion, String osgiVersion, String gitCommit, String commitMessage) {
88+
public ServerInfo toServerInfo() {
89+
var serverInfo = new ServerInfo();
90+
serverInfo.setName(name());
91+
serverInfo.setVersion(buildVersion());
92+
return serverInfo;
93+
}
94+
95+
public String details() {
96+
return """
97+
%s
98+
- Version: %s (OSGi %s)
99+
- Git Commit: %s - %s""".formatted(name, buildVersion, osgiVersion, gitCommit, commitMessage);
100+
}
84101
}
85102

86103
@SuppressWarnings({ "unchecked", "deprecation" })

0 commit comments

Comments
 (0)