[ https://issues.apache.org/jira/browse/MNG-6947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17143657#comment-17143657 ]
Michael Osipov commented on MNG-6947: ------------------------------------- [~rfscholte], yet another symlink/canonical path issue. WDYT? > StringSearchModelInterpolatorTest fails to interpolate ${project.basedir} > across Java versions > ---------------------------------------------------------------------------------------------- > > Key: MNG-6947 > URL: https://issues.apache.org/jira/browse/MNG-6947 > Project: Maven > Issue Type: Bug > Components: core > Affects Versions: 3.6.3 > Reporter: Michael Osipov > Priority: Major > > This has been discovered while using {{MAVENCODEBASE}} with relative paths > and symlinks. > This is a very subtile bug and I yet don't understand. Here is how to > reproduce: > Have Maven cloned repo on a symlinked dir: > {noformat} > osipovmi@deblndw011x:~/var/Projekte/maven (master *=) > $ pwd -P > /var/osipovmi/Projekte/maven > {noformat} > and invoke Maven with {{-f}} and a non-normalized path: > {noformat} > mvn -f $PWD/../maven -V -pl maven-model-builder test > {noformat} > With Java 8 all tests pass, with Java 11+ the mentioned test fails: > {noformat} > [ERROR] Tests run: 34, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: > 0.086 s <<< FAILURE! - in > org.apache.maven.model.interpolation.StringSearchModelInterpolatorTest > [ERROR] > testInterpolateObjectWithPomFile(org.apache.maven.model.interpolation.StringSearchModelInterpolatorTest) > Time elapsed: 0.012 s <<< FAILURE! > java.lang.AssertionError: > Expected: is (is > "/net/home/osipovmi/var/Projekte/maven/maven-model-builder/target" or is > "/net/home/osipovmi/var/Projekte/maven/maven-model-builder/./target") > but: was "/var/osipovmi/Projekte/maven/maven-model-builder/./target" > at > org.apache.maven.model.interpolation.StringSearchModelInterpolatorTest.testInterpolateObjectWithPomFile(StringSearchModelInterpolatorTest.java:366) > {noformat} > I have applied the following patch: > {noformat} > $ git diff > diff --git > a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java > > b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java > index dbb72c4f7..b2d4b0965 100644 > --- > a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java > +++ > b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java > @@ -356,9 +356,11 @@ public void testInterpolateObjectWithPomFile() > ModelBuildingRequest config = createModelBuildingRequest( p ); > SimpleProblemCollector collector = new SimpleProblemCollector(); > assertProblemFree( collector ); > - > + System.out.println( baseDir.getAbsolutePath() ); > + System.out.println( System.getProperty( "user.dir" ) ); > + System.out.println( obj.values.get( "key" ) ); > assertThat( baseDir.getAbsolutePath(), is( System.getProperty( > "user.dir" ) ) ); > assertThat( obj.values.size(), is( 1 ) ); > assertThat( (String) obj.values.get( "key" ), is( anyOf( > {noformat} > and receive: > {noformat} > Java 8: > /net/home/osipovmi/var/Projekte/maven/maven-model-builder > /net/home/osipovmi/var/Projekte/maven/maven-model-builder > /net/home/osipovmi/var/Projekte/maven/maven-model-builder/./target > Java 11: > /net/home/osipovmi/var/Projekte/maven/maven-model-builder > /net/home/osipovmi/var/Projekte/maven/maven-model-builder > /var/osipovmi/Projekte/maven/maven-model-builder/./target > Java 14: > /net/home/osipovmi/var/Projekte/maven/maven-model-builder > /net/home/osipovmi/var/Projekte/maven/maven-model-builder > /var/osipovmi/Projekte/maven/maven-model-builder/./target > {noformat} > When I apply > {noformat} > $ git diff > diff --git > a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java > > b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java > index dbb72c4f7..b2d4b0965 100644 > --- > a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java > +++ > b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringSearchModelInterpolatorTest.java > @@ -356,9 +356,11 @@ public void testInterpolateObjectWithPomFile() > ModelBuildingRequest config = createModelBuildingRequest( p ); > SimpleProblemCollector collector = new SimpleProblemCollector(); > - interpolator.interpolateObject( obj, model, new File( "." ), config, > collector ); > + interpolator.interpolateObject( obj, model, new File( > System.getProperty( "user.dir" ) ), config, collector ); > assertProblemFree( collector ); > {noformat} > The code works. Unfortunately, I do not know whether this fixes the cause > because the test is faulty or just the symptom and the issue is in Core. -- This message was sent by Atlassian Jira (v8.3.4#803005)