diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index f46fdeb1d998..61461c8aba8e 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -160,6 +160,11 @@ under the License.
commons-jxpath
test
+
+ commons-io
+ commons-io
+ test
+
org.mockito
mockito-core
@@ -175,6 +180,11 @@ under the License.
xmlunit-assertj
test
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
org.junit.jupiter
junit-jupiter-params
diff --git a/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java b/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
index 5590b9f728f7..8cc47a8530a2 100644
--- a/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java
@@ -20,7 +20,6 @@
*/
import java.io.File;
-import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collections;
@@ -28,6 +27,7 @@
import java.util.Properties;
import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.commons.io.FileUtils;
import org.apache.maven.AbstractCoreMavenComponentTestCase;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
@@ -35,8 +35,8 @@
import org.apache.maven.model.building.ModelBuildingRequest;
import org.apache.maven.model.building.ModelProblem;
import org.apache.maven.model.building.ModelSource;
-import org.apache.maven.shared.utils.io.FileUtils;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
import static org.apache.maven.project.ProjectBuildingResultWithLocationMatcher.projectBuildingResultWithLocation;
import static org.apache.maven.project.ProjectBuildingResultWithProblemMessageMatcher.projectBuildingResultWithProblemMessage;
@@ -166,35 +166,27 @@ public void testDontResolveDependencies()
}
@Test
- public void testReadModifiedPoms() throws Exception {
+ public void testReadModifiedPoms( @TempDir Path tempDir ) throws Exception {
// TODO a similar test should be created to test the dependency management (basically all usages
// of DefaultModelBuilder.getCache() are affected by MNG-6530
- Path tempDir = Files.createTempDirectory( null );
- FileUtils.copyDirectoryStructure ( new File( "src/test/resources/projects/grandchild-check" ), tempDir.toFile() );
- try
- {
- MavenSession mavenSession = createMavenSession( null );
- ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
- configuration.setRepositorySession( mavenSession.getRepositorySession() );
- org.apache.maven.project.ProjectBuilder projectBuilder = getContainer().lookup( org.apache.maven.project.ProjectBuilder.class );
- File child = new File( tempDir.toFile(), "child/pom.xml" );
- // build project once
- projectBuilder.build( child, configuration );
- // modify parent
- File parent = new File( tempDir.toFile(), "pom.xml" );
- String parentContent = FileUtils.fileRead( parent );
- parentContent = parentContent.replaceAll( "pom",
- "pomaddedValue" );
- FileUtils.fileWrite( parent, "UTF-8", parentContent );
- // re-build pom with modified parent
- ProjectBuildingResult result = projectBuilder.build( child, configuration );
- assertThat( result.getProject().getProperties(), hasKey( (Object) "addedProperty" ) );
- }
- finally
- {
- FileUtils.deleteDirectory( tempDir.toFile() );
- }
+ FileUtils.copyDirectory( new File( "src/test/resources/projects/grandchild-check" ), tempDir.toFile() );
+ MavenSession mavenSession = createMavenSession( null );
+ ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
+ configuration.setRepositorySession( mavenSession.getRepositorySession() );
+ org.apache.maven.project.ProjectBuilder projectBuilder = getContainer().lookup( org.apache.maven.project.ProjectBuilder.class );
+ File child = new File( tempDir.toFile(), "child/pom.xml" );
+ // build project once
+ projectBuilder.build( child, configuration );
+ // modify parent
+ File parent = new File( tempDir.toFile(), "pom.xml" );
+ String parentContent = FileUtils.readFileToString( parent, "UTF-8" );
+ parentContent = parentContent.replaceAll( "pom",
+ "pomaddedValue" );
+ FileUtils.write( parent, parentContent, "UTF-8" );
+ // re-build pom with modified parent
+ ProjectBuildingResult result = projectBuilder.build( child, configuration );
+ assertThat( result.getProject().getProperties(), hasKey( (Object) "addedProperty" ) );
}
@Test
diff --git a/maven-embedder/pom.xml b/maven-embedder/pom.xml
index 842f86823954..d49eb8f62fa3 100644
--- a/maven-embedder/pom.xml
+++ b/maven-embedder/pom.xml
@@ -149,6 +149,11 @@ under the License.
commons-cli
commons-cli
+
+ commons-io
+ commons-io
+ test
+
org.apache.commons
commons-lang3
diff --git a/pom.xml b/pom.xml
index 1e08bb637db7..df1b8f40281a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,7 @@ under the License.
8
2.6.0
1.5.0
+ 2.11.0
3.12.0
5.8.1
3.2.0
@@ -300,6 +301,13 @@ under the License.
org.apache.maven.shared
maven-shared-utils
3.3.4
+
+
+
+ commons-io
+ commons-io
+
+
org.fusesource.jansi
@@ -338,6 +346,13 @@ under the License.
org.apache.maven.wagon
wagon-http
${wagonVersion}
+
+
+
+ commons-io
+ commons-io
+
+
@@ -386,6 +401,11 @@ under the License.
commons-cli
${commonsCliVersion}
+
+ commons-io
+ commons-io
+ ${commonsIoVersion}
+
commons-jxpath
commons-jxpath