[ 
https://issues.apache.org/jira/browse/MNG-7634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17649479#comment-17649479
 ] 

Michael Osipov edited comment on MNG-7634 at 12/19/22 9:38 PM:
---------------------------------------------------------------

Well, I did not fully fail. The test is flawed, badly designed. This is how it 
should fail:
{noformat}
osipovmi@deblndw011x:~/var/Projekte/mit (master *=)
$ cat core-it-suite/target/test-classes/mng-4913/log.txt
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< org.apache.maven.its.mng4913:test >------------------
[INFO] Building Maven Integration Test :: MNG-4913 0.1
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Downloading from central: 
file:target/null/org/apache/maven/its/mng4913/b/0.1/b-0.1.pom
[INFO] Downloading from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/b/0.1/b-0.1.pom
[INFO] Downloaded from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/b/0.1/b-0.1.pom
 (1.4 kB)
[INFO] Downloading from central: 
file:target/null/org/apache/maven/its/mng4913/a/98.76/a-98.76.pom
[INFO] Downloading from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/a/98.76/a-98.76.pom
[WARNING] The POM for org.apache.maven.its.mng4913:a:jar:98.76 is missing, no 
dependency information available
[INFO] Downloading from central: 
file:target/null/org/apache/maven/its/mng4913/b/0.1/b-0.1.jar
[INFO] Downloading from central: 
file:target/null/org/apache/maven/its/mng4913/a/98.76/a-98.76.jar
[INFO] Downloading from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/b/0.1/b-0.1.jar
[INFO] Downloading from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/a/98.76/a-98.76.jar
[INFO] Downloaded from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/b/0.1/b-0.1.jar
 (2.0 kB at 2.0 MB/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.023 s
[INFO] Finished at: 2022-12-19T22:33:22+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project test: Could not resolve dependencies 
for project org.apache.maven.its.mng4913:test:jar:0.1: Could not find artifact 
org.apache.maven.its.mng4913:a:jar:98.76 in central (file:target/null) -> [Help 
1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
on project test: Could not resolve dependencies for project 
org.apache.maven.its.mng4913:test:jar:0.1: Could not find artifact 
org.apache.maven.its.mng4913:a:jar:98.76 in central (file:target/null)
    at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies 
(LifecycleDependencyResolver.java:248)
    at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectArtifacts
 (LifecycleDependencyResolver.java:180)
    at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies
 (LifecycleDependencyResolver.java:118)
    at 
org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved 
(MojoExecutor.java:361)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
(MojoExecutor.java:319)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:172)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 
(MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run 
(MojoExecutor.java:160)
{noformat}

The first problem: {{MavenITmng4913UserPropertyVsDependencyPomPropertyTest}} 
contains user property, but the code says {{verifier.setSystemProperty( 
"mng4913.version", "98.76" );}}. Second problem: When run in embedded mode the 
current JVM's system propeties are modified altough the ticket is about user 
properties. In fork mode the "system properties" are passed as user properties 
which are unfortunately promoted to system properties. Total chaos.

This is decent fix:
{noformat}
$ git diff
diff --git 
a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4913UserPropertyVsDependencyPomPropertyTest.java
 
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4913UserPropertyVsDependencyPomPropertyTest.java
index b948c8f43..aa80c2f53 100644
--- 
a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4913UserPropertyVsDependencyPomPropertyTest.java
+++ 
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4913UserPropertyVsDependencyPomPropertyTest.java
@@ -56,9 +56,9 @@ public class 
MavenITmng4913UserPropertyVsDependencyPomPropertyTest
         verifier.setAutoclean( false );
         verifier.deleteDirectory( "target" );
         verifier.deleteArtifacts( "org.apache.maven.its.mng4913" );
-        verifier.setSystemProperty( "mng4913.version", "98.76" );
         verifier.addCliOption( "-s" );
         verifier.addCliOption( "settings.xml" );
+        verifier.addCliOption( "-Dmng4913.version=98.76" );
         verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", 
verifier.newDefaultFilterProperties() );
         verifier.executeGoal( "validate" );
         verifier.verifyErrorFreeLog();
{noformat}


was (Author: michael-o):
Well, I did not fully fail. The test is flawed, badly designed. This is how it 
should fail:
{format}
osipovmi@deblndw011x:~/var/Projekte/mit (master *=)
$ cat core-it-suite/target/test-classes/mng-4913/log.txt
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< org.apache.maven.its.mng4913:test >------------------
[INFO] Building Maven Integration Test :: MNG-4913 0.1
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Downloading from central: 
file:target/null/org/apache/maven/its/mng4913/b/0.1/b-0.1.pom
[INFO] Downloading from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/b/0.1/b-0.1.pom
[INFO] Downloaded from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/b/0.1/b-0.1.pom
 (1.4 kB)
[INFO] Downloading from central: 
file:target/null/org/apache/maven/its/mng4913/a/98.76/a-98.76.pom
[INFO] Downloading from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/a/98.76/a-98.76.pom
[WARNING] The POM for org.apache.maven.its.mng4913:a:jar:98.76 is missing, no 
dependency information available
[INFO] Downloading from central: 
file:target/null/org/apache/maven/its/mng4913/b/0.1/b-0.1.jar
[INFO] Downloading from central: 
file:target/null/org/apache/maven/its/mng4913/a/98.76/a-98.76.jar
[INFO] Downloading from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/b/0.1/b-0.1.jar
[INFO] Downloading from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/a/98.76/a-98.76.jar
[INFO] Downloaded from maven-core-it: 
file:///var/osipovmi/Projekte/maven-integration-testing/core-it-suite/target/test-classes/mng-4913/repo/org/apache/maven/its/mng4913/b/0.1/b-0.1.jar
 (2.0 kB at 2.0 MB/s)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.023 s
[INFO] Finished at: 2022-12-19T22:33:22+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project test: Could not resolve dependencies 
for project org.apache.maven.its.mng4913:test:jar:0.1: Could not find artifact 
org.apache.maven.its.mng4913:a:jar:98.76 in central (file:target/null) -> [Help 
1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
on project test: Could not resolve dependencies for project 
org.apache.maven.its.mng4913:test:jar:0.1: Could not find artifact 
org.apache.maven.its.mng4913:a:jar:98.76 in central (file:target/null)
    at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies 
(LifecycleDependencyResolver.java:248)
    at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectArtifacts
 (LifecycleDependencyResolver.java:180)
    at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies
 (LifecycleDependencyResolver.java:118)
    at 
org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved 
(MojoExecutor.java:361)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
(MojoExecutor.java:319)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:172)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 
(MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run 
(MojoExecutor.java:160)
{noformat}

The first problem: {{MavenITmng4913UserPropertyVsDependencyPomPropertyTest}} 
contains user property, but the code says {{verifier.setSystemProperty( 
"mng4913.version", "98.76" );}}. Second problem: When run in embedded mode the 
current JVM's system propeties are modified altough the ticket is about user 
properties. In fork mode the "system properties" are passed as user properties 
which are unfortunately promoted to system properties. Total chaos.

This is decent fix:
{noformat}
$ git diff
diff --git 
a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4913UserPropertyVsDependencyPomPropertyTest.java
 
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4913UserPropertyVsDependencyPomPropertyTest.java
index b948c8f43..aa80c2f53 100644
--- 
a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4913UserPropertyVsDependencyPomPropertyTest.java
+++ 
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4913UserPropertyVsDependencyPomPropertyTest.java
@@ -56,9 +56,9 @@ public class 
MavenITmng4913UserPropertyVsDependencyPomPropertyTest
         verifier.setAutoclean( false );
         verifier.deleteDirectory( "target" );
         verifier.deleteArtifacts( "org.apache.maven.its.mng4913" );
-        verifier.setSystemProperty( "mng4913.version", "98.76" );
         verifier.addCliOption( "-s" );
         verifier.addCliOption( "settings.xml" );
+        verifier.addCliOption( "-Dmng4913.version=98.76" );
         verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", 
verifier.newDefaultFilterProperties() );
         verifier.executeGoal( "validate" );
         verifier.verifyErrorFreeLog();
{noformat}

> Revert MNG-5982 and MNG-7417
> ----------------------------
>
>                 Key: MNG-7634
>                 URL: https://issues.apache.org/jira/browse/MNG-7634
>             Project: Maven
>          Issue Type: Task
>            Reporter: Michael Osipov
>            Assignee: Michael Osipov
>            Priority: Major
>             Fix For: 3.9.0, 4.0.0, 4.0.0-alpha-4, 3.8.7
>
>
> As layed out in MNG-7563, both issues though solve one problem, but cause a 
> regression where direct user input manipulates dependency POMs in a way which 
> is not clear/documented as such. As long as we cannot properly understand and 
> document it, we must revert those changes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to