You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2026/05/02 11:59:15 UTC

(maven) branch maven-3.10.x updated: Ensure `MavenProject#getPluginManagement` never returns null

This is an automated email from the ASF dual-hosted git repository.

slawekjaranowski pushed a commit to branch maven-3.10.x
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/maven-3.10.x by this push:
     new 835209bb04 Ensure `MavenProject#getPluginManagement` never returns null
835209bb04 is described below

commit 835209bb04baca01a621cf9ce1e7f14bcfdddcb1
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Fri May 1 18:18:42 2026 +0200

    Ensure `MavenProject#getPluginManagement` never returns null
    
    When we have `pluginManagement` in Super POM - MavenProject#getPluginManagement never returns null,
    should be the same after removing `pluginManagement`.
    
    It can break the plugin which can assume that it is not null.
---
 .../src/main/java/org/apache/maven/project/MavenProject.java       | 4 ++++
 .../src/test/java/org/apache/maven/project/MavenProjectTest.java   | 7 +++++++
 2 files changed, 11 insertions(+)

diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
index 22d75eac6c..9b53ae431f 100644
--- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
+++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
@@ -751,6 +751,10 @@ public PluginManagement getPluginManagement() {
             pluginMgmt = build.getPluginManagement();
         }
 
+        if (pluginMgmt == null) {
+            pluginMgmt = new PluginManagement();
+        }
+
         return pluginMgmt;
     }
 
diff --git a/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java b/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
index b317be8134..de87429e1b 100644
--- a/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/MavenProjectTest.java
@@ -214,6 +214,13 @@ public void testAddDotFile() {
         assertEquals(1, project.getCompileSourceRoots().size());
     }
 
+    @Test
+    public void pluginManagementShouldReturnNotNull() {
+        MavenProject project = new MavenProject();
+
+        assertNotNull(project.getPluginManagement());
+    }
+
     private void assertNoNulls(List<String> elements) {
         assertFalse(elements.contains(null));
     }