This is an automated email from the ASF dual-hosted git repository. slachiewicz pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-mvnd.git
commit 9219c77d854804532816efef79e50806c84de79a Author: Arturo Bernal <[email protected]> AuthorDate: Wed Oct 28 21:54:52 2026 +0100 Print the embedded Maven version on --version, fix extensions tests pinned to the old daemon spawn --- .../java/org/mvndaemon/mvnd/client/BuildProperties.java | 15 +++++++++++++-- .../java/org/mvndaemon/mvnd/client/DefaultClient.java | 4 +++- .../resources/org/mvndaemon/mvnd/client/build.properties | 1 + .../java/org/mvndaemon/mvnd/it/ExtensionsNativeIT.java | 10 ++++------ 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/client/src/main/java/org/mvndaemon/mvnd/client/BuildProperties.java b/client/src/main/java/org/mvndaemon/mvnd/client/BuildProperties.java index 5c3aaa47..893f6938 100644 --- a/client/src/main/java/org/mvndaemon/mvnd/client/BuildProperties.java +++ b/client/src/main/java/org/mvndaemon/mvnd/client/BuildProperties.java @@ -41,25 +41,36 @@ public class BuildProperties { buildProperties.getProperty("version"), buildProperties.getProperty("revision"), buildProperties.getProperty("os.detected.name"), - buildProperties.getProperty("os.detected.arch")); + buildProperties.getProperty("os.detected.arch"), + buildProperties.getProperty("maven.version")); } private final String version; private final String osName; private final String osArch; private final String revision; + private final String mavenVersion; - public BuildProperties(String version, String revision, String os, String arch) { + public BuildProperties(String version, String revision, String os, String arch, String mavenVersion) { this.version = version; this.revision = revision; this.osName = os; this.osArch = arch; + this.mavenVersion = mavenVersion; } public String getVersion() { return version; } + /** + * The version of Apache Maven embedded in this mvnd distribution, known at mvnd's own build time rather + * than reported by a running daemon. + */ + public String getMavenVersion() { + return mavenVersion; + } + public String getOsName() { return osName; } diff --git a/client/src/main/java/org/mvndaemon/mvnd/client/DefaultClient.java b/client/src/main/java/org/mvndaemon/mvnd/client/DefaultClient.java index e3dcee8a..880e8223 100644 --- a/client/src/main/java/org/mvndaemon/mvnd/client/DefaultClient.java +++ b/client/src/main/java/org/mvndaemon/mvnd/client/DefaultClient.java @@ -302,8 +302,10 @@ public class DefaultClient implements Client { * -v/--version always makes Maven itself print its own version and return without running a * build, no matter what else is on the command line, so a daemon round trip could not add * anything here. Skip connecting to (and possibly spawning) a daemon just to get that same - * answer back, printing the same "Maven home" line Maven itself would have printed. + * answer back: the embedded Maven version is pinned at mvnd's own build time, so it does not + * need a live daemon to report it either. */ + output.accept(Message.log("Apache Maven " + buildProperties.getMavenVersion() + " (embedded)")); output.accept(Message.log("Maven home: " + parameters.mvndHome())); return DefaultResult.success(argv); } diff --git a/client/src/main/resources/org/mvndaemon/mvnd/client/build.properties b/client/src/main/resources/org/mvndaemon/mvnd/client/build.properties index ea4160db..42a906db 100644 --- a/client/src/main/resources/org/mvndaemon/mvnd/client/build.properties +++ b/client/src/main/resources/org/mvndaemon/mvnd/client/build.properties @@ -17,5 +17,6 @@ revision=${nisse.jgit.commit} version=${project.version} +maven.version=${maven.version} os.detected.name=${os.detected.name} os.detected.arch=${os.detected.arch} \ No newline at end of file diff --git a/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ExtensionsNativeIT.java b/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ExtensionsNativeIT.java index d4d743aa..b8a86b8a 100644 --- a/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ExtensionsNativeIT.java +++ b/integration-tests/src/test/java/org/mvndaemon/mvnd/it/ExtensionsNativeIT.java @@ -45,6 +45,7 @@ class ExtensionsNativeIT { @Inject TestRegistry registry; + /** {@code -v}/{@code --version} completes without spawning (or otherwise using) a daemon at all. */ @Test void version() throws IOException, InterruptedException { registry.killAll(); @@ -52,13 +53,10 @@ class ExtensionsNativeIT { final TestClientOutput o = new TestClientOutput(); client.execute(o, "-v").assertSuccess(); - assertDaemonRegistrySize(1); - DaemonInfo daemon = registry.getAll().iterator().next(); - - registry.awaitIdle(daemon.getId()); + assertDaemonRegistrySize(0); client.execute(o, "-v").assertSuccess(); - assertDaemonRegistrySize(1); + assertDaemonRegistrySize(0); } private void assertDaemonRegistrySize(int size) { @@ -73,7 +71,7 @@ class ExtensionsNativeIT { assertDaemonRegistrySize(0); final TestClientOutput o = new TestClientOutput(); - client.execute(o, "-v").assertSuccess(); + client.execute(o, "validate").assertSuccess(); assertDaemonRegistrySize(1); DaemonInfo daemon = registry.getAll().iterator().next();
