Bump maven.version from 4.0.0-rc-4 to 4.0.0-rc-5 (#1477)

Bump maven.version from 4.0.0-rc-4 to 4.0.0-rc-5
Bumps `maven.version` from 4.0.0-rc-4 to 4.0.0-rc-5.
Updates `org.apache.maven:maven-plugin-api` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:maven-model` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:maven-core` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:maven-resolver-provider` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:maven-embedder` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:maven-cli` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:maven-api-di` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:maven-jline` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:maven-logging` from 4.0.0-rc-4 to 4.0.0-rc-5
Updates `org.apache.maven:apache-maven` from 4.0.0-rc-4 to 4.0.0-rc-5
- [Release notes](https://github.com/apache/maven/releases)
- [Commits](https://github.com/apache/maven/compare/maven-4.0.0-rc-4...maven-4.0.0-rc-5)

---
updated-dependencies:
- dependency-name: org.apache.maven:maven-plugin-api
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:maven-model
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:maven-core
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:maven-resolver-provider
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:maven-embedder
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:maven-cli
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:maven-api-di
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:maven-jline
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:maven-logging
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.maven:apache-maven
  dependency-version: 4.0.0-rc-5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Replace junit-platform-maven-plugin with maven-exec-plugin

The junit-platform-maven-plugin is no longer maintained and causes issues
with Maven 4.0.0-rc-5 due to stricter request validation.

This commit refactors the JUnitPlatformTest to use maven-exec-plugin instead:
- Removed JUnitPlatformTest and junit-platform test project
- Extended ExecOutputTest with a new cleanTestInheritIO() test method
- Added new execution to exec-output/pom.xml using exec:java goal with inheritIo=true
- Created HelloWorld.java class for testing inheritIO functionality

The refactoring maintains the same test coverage while using a more
maintainable plugin.

Related to #1477 and sormuras/junit-platform-maven-plugin#117

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sylwester Lachiewicz <slachiewicz@apache.org>
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
This commit is contained in:
dependabot[bot]
2025-11-25 09:17:58 +01:00
committed by GitHub
parent f4aa7b7eda
commit 2f879b24fb
9 changed files with 34 additions and 176 deletions

View File

@@ -16,4 +16,4 @@
# under the License.
wrapperVersion=3.3.2
distributionType=only-script
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/4.0.0-rc-3/apache-maven-4.0.0-rc-3-bin.zip
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/4.0.0-rc-5/apache-maven-4.0.0-rc-5-bin.zip

View File

@@ -50,8 +50,8 @@ public class DaemonMavenParser extends MavenParser {
}
@Override
protected List<CoreExtension> readCoreExtensionsDescriptorFromFile(Path extensionsFile) {
return filterCoreExtensions(super.readCoreExtensionsDescriptorFromFile(extensionsFile));
protected List<CoreExtension> readCoreExtensionsDescriptorFromFile(Path extensionsFile, boolean allowMetaVersions) {
return filterCoreExtensions(super.readCoreExtensionsDescriptorFromFile(extensionsFile, allowMetaVersions));
}
protected static List<CoreExtension> filterCoreExtensions(List<CoreExtension> coreExtensions) {

View File

@@ -26,6 +26,7 @@ import org.junit.jupiter.api.Test;
import org.mvndaemon.mvnd.assertj.TestClientOutput;
import org.mvndaemon.mvnd.client.Client;
import org.mvndaemon.mvnd.client.DaemonParameters;
import org.mvndaemon.mvnd.common.Message;
import org.mvndaemon.mvnd.junit.MvndTest;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -48,4 +49,19 @@ class ExecOutputTest {
assertTrue(output.messagesToString()
.contains("ProjectLogMessage{projectId='exec-output', message='[INFO] [stdout] Hello world!'}"));
}
@Test
void cleanTestInheritIO() throws InterruptedException {
final TestClientOutput output = new TestClientOutput();
client.execute(output, "clean", "test", "-e", "-Dmvnd.log.level=DEBUG").assertSuccess();
assertHasTestMessage(output);
}
private void assertHasTestMessage(final TestClientOutput output) {
assertTrue(output.getMessages().stream()
.filter(Message.ProjectEvent.class::isInstance)
.map(Message.ProjectEvent.class::cast)
.anyMatch(it -> it.getMessage().contains("[stdout] From test")));
}
}

View File

@@ -1,55 +0,0 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.mvndaemon.mvnd.it;
import javax.inject.Inject;
import org.junit.jupiter.api.Test;
import org.mvndaemon.mvnd.assertj.TestClientOutput;
import org.mvndaemon.mvnd.client.Client;
import org.mvndaemon.mvnd.client.DaemonParameters;
import org.mvndaemon.mvnd.common.Message;
import org.mvndaemon.mvnd.junit.MvndTest;
import static org.junit.jupiter.api.Assertions.assertTrue;
@MvndTest(projectDir = "src/test/projects/junit-platform")
class JUnitPlatformTest {
@Inject
Client client;
@Inject
DaemonParameters parameters;
@Test
void cleanTestInheritIO() throws InterruptedException {
final TestClientOutput output = new TestClientOutput();
client.execute(output, "clean", "test", "-e", "-Dmvnd.log.level=DEBUG").assertSuccess();
assertHasTestMessage(output);
}
private void assertHasTestMessage(final TestClientOutput output) {
assertTrue(output.getMessages().stream()
.filter(Message.ProjectEvent.class::isInstance)
.map(Message.ProjectEvent.class::cast)
.anyMatch(it -> it.getMessage().contains("[stdout] From test")));
}
}

View File

@@ -93,6 +93,17 @@
</arguments>
</configuration>
</execution>
<execution>
<id>run-inherit-io</id>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>org.mvndaemon.mvnd.test.HelloWorld</mainClass>
<inheritIo>true</inheritIo>
</configuration>
</execution>
</executions>
</plugin>
</plugins>

View File

@@ -15,13 +15,11 @@
*/
package org.mvndaemon.mvnd.test;
import org.junit.jupiter.api.Test;
public class HelloWorld {
class GreetingTest {
@Test
void run() {
public static void main(String[] args) {
System.out.println("From test");
}
}

View File

@@ -1,3 +0,0 @@
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120
-Dmaven.wagon.http.retryHandler.requestSentEnabled=true
-Dmaven.wagon.http.retryHandler.count=10

View File

@@ -1,109 +0,0 @@
<!--
Copyright 2021 the original author or authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.mvndaemon.mvnd.test.exec-output</groupId>
<artifactId>jp-output</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<maven-clean-plugin.version>3.2.0</maven-clean-plugin.version>
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
<maven-install-plugin.version>3.1.0</maven-install-plugin.version>
<maven-resources-plugin.version>3.3.0</maven-resources-plugin.version>
<maven-surefire-plugin.version>3.0.0-M8</maven-surefire-plugin.version>
<exec-maven-plugin.version>3.1.0</exec-maven-plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>${maven-install-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>de.sormuras.junit</groupId>
<artifactId>junit-platform-maven-plugin</artifactId>
<version>1.1.0</version>
<extensions>true</extensions>
<configuration>
<isolation>NONE</isolation>
<executor>JAVA</executor>
<javaOptions>
<inheritIO>true</inheritIO>
<additionalLauncherOptions>
<additionalLauncherOption>--disable-banner</additionalLauncherOption>
</additionalLauncherOptions>
</javaOptions>
<tweaks>
<failIfNoTests>false</failIfNoTests>
<details>flat</details>
</tweaks>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -83,7 +83,7 @@
<groovy.version>5.0.2</groovy.version>
<jansi.version>2.4.1</jansi.version>
<jline.version>3.30.6</jline.version>
<maven.version>4.0.0-rc-4</maven.version>
<maven.version>4.0.0-rc-5</maven.version>
<required-maven.version>3.9.10</required-maven.version>
<!-- Keep in sync with Maven -->