You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Martin D'Aloia (Jira)" <ji...@apache.org> on 2021/07/09 19:59:00 UTC

[jira] [Created] (MNG-7183) Plugin declaration silently ignored if groupId uses property references

Martin D'Aloia created MNG-7183:
-----------------------------------

             Summary: Plugin declaration silently ignored if groupId uses property references
                 Key: MNG-7183
                 URL: https://issues.apache.org/jira/browse/MNG-7183
             Project: Maven
          Issue Type: Bug
          Components: Bootstrap &amp; Build, Inheritance and Interpolation
    Affects Versions: 3.8.1, 3.6.3, 3.6.2
            Reporter: Martin D'Aloia
         Attachments: bug-example.zip

Declaring a plugin where its {{<groupId>}} value is/contains a property reference ({{${example}}}) is silently ignored and no error is thrown since Maven 3.6.2 (worked on 3.6.1).

*Actual behavior:*
 - Plugin configuration silently ignored

*Expected behavior:*
 - Work as in 3.6.1, or
 - Produce an error if such config is not allowed

Attached you could find a self-contained example using the {{maven-clean-plugin}} (but also happens with third-party plugins).
To ease the comparison, this has 2 profiles: one declares the value explicitly and the other (indirect) via a property reference.

Execute it as: {{./run.sh}}
and you will get at the end:

{noformat}
./out/maven-3.8.1-profile-indirect.log:[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-bug-example ---
./out/maven-3.8.1-profile-indirect.log:[DEBUG] (f) skip = false
./out/maven-3.8.1-profile-explicit.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.8.1-profile-explicit.log:[DEBUG] (f) skip = true
./out/maven-3.6.3-profile-indirect.log:[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.3-profile-indirect.log:[DEBUG] (f) skip = false
./out/maven-3.6.3-profile-explicit.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.3-profile-explicit.log:[DEBUG] (f) skip = true
./out/maven-3.6.2-profile-indirect.log:[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.2-profile-indirect.log:[DEBUG] (f) skip = false
./out/maven-3.6.2-profile-explicit.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.2-profile-explicit.log:[DEBUG] (f) skip = true
./out/maven-3.6.1-profile-indirect.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.1-profile-indirect.log:[DEBUG] (f) skip = true
./out/maven-3.6.1-profile-explicit.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.1-profile-explicit.log:[DEBUG] (f) skip = true
{noformat}

Here you could see that the plugin version (2.5) and skip (false) configuration isn't what was configured for {{indirect}} profile.

Another example, defining a base config as {{<pluginManagement>}}, it is also ignoring the specific {{<configuration>}} on {{<plugin>}} usage.

Execute it as: {{./run.sh pom-pluginManagement.xml}}
and you will get at the end:

{noformat}
./out/maven-3.8.1-profile-indirect.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.8.1-profile-indirect.log:[DEBUG] (f) skip = false
./out/maven-3.8.1-profile-explicit.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.8.1-profile-explicit.log:[DEBUG] (f) skip = true
./out/maven-3.6.3-profile-indirect.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.3-profile-indirect.log:[DEBUG] (f) skip = false
./out/maven-3.6.3-profile-explicit.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.3-profile-explicit.log:[DEBUG] (f) skip = true
./out/maven-3.6.2-profile-indirect.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.2-profile-indirect.log:[DEBUG] (f) skip = false
./out/maven-3.6.2-profile-explicit.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.2-profile-explicit.log:[DEBUG] (f) skip = true
./out/maven-3.6.1-profile-indirect.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.1-profile-indirect.log:[DEBUG] (f) skip = true
./out/maven-3.6.1-profile-explicit.log:[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ maven-bug-example ---
./out/maven-3.6.1-profile-explicit.log:[DEBUG] (f) skip = true
{noformat}
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)