You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2021/08/16 21:24:20 UTC
[maven] 01/01: Add ModelSource test for MNG-5669
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch test-for-MNG-5669
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 209e6434d2baf963d8eb3e18b1b70cddebe5a819
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Mon Aug 16 23:24:07 2021 +0200
Add ModelSource test for MNG-5669
---
.../apache/maven/project/ProjectBuilderTest.java | 26 ++++++++++++++++++++++
.../resources/projects/modelsourcebasedir/pom.xml | 19 ++++++++++++++++
2 files changed, 45 insertions(+)
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 e2babbf..fbe1a4e 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
@@ -32,6 +32,7 @@ import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.building.FileModelSource;
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;
@@ -332,4 +333,29 @@ public class ProjectBuilderTest
assertNotNull( "Missing version for build plugin " + buildPlugin.getKey(), buildPlugin.getVersion() );
}
}
+
+ @Test
+ public void testBuildFromModelSourceResolvesBasedir()
+ throws Exception
+ {
+ File pomFile = new File( "src/test/resources/projects/modelsourcebasedir/pom.xml" );
+ MavenSession mavenSession = createMavenSession( null );
+ ProjectBuildingRequest configuration = new DefaultProjectBuildingRequest();
+ configuration.setRepositorySession( mavenSession.getRepositorySession() );
+ ModelSource modelSource = new FileModelSource( pomFile );
+ ProjectBuildingResult result =
+ getContainer().lookup( org.apache.maven.project.ProjectBuilder.class ).build( modelSource, configuration );
+
+ assertEquals( pomFile.getAbsoluteFile(), result.getProject().getModel().getPomFile().getAbsoluteFile() );
+ int errors = 0;
+ for ( ModelProblem p : result.getProblems() )
+ {
+ if ( p.getSeverity() == ModelProblem.Severity.ERROR )
+ {
+ errors++;
+ }
+ }
+ assertEquals( 0, errors );
+ }
+
}
diff --git a/maven-core/src/test/resources/projects/modelsourcebasedir/pom.xml b/maven-core/src/test/resources/projects/modelsourcebasedir/pom.xml
new file mode 100644
index 0000000..ec0f7d3
--- /dev/null
+++ b/maven-core/src/test/resources/projects/modelsourcebasedir/pom.xml
@@ -0,0 +1,19 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test.readparent</groupId>
+ <artifactId>local-parent</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>blah</groupId>
+ <artifactId>blah</artifactId>
+ <version>0.0.1-SNASPSHOT</version>
+ <scope>system</scope>
+ <systemPath>${basedir}/blah.jar</systemPath>
+ </dependency>
+ </dependencies>
+
+</project>