From c78213222ce39d6ca2caa87dd6b4d430668dee44 Mon Sep 17 00:00:00 2001
From: Guillaume Nodet <gnodet@gmail.com>
Date: Fri, 21 Mar 2025 17:14:52 +0100
Subject: [PATCH] Make Maven 4 loads real projects (with CI friendly version
 processing)

---
 .../archive/task/AddDependencySetsTask.java      | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java b/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java
index a19293ef..53c773e3 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java
@@ -145,7 +145,8 @@ void addDependencySet(
                 : null;
 
         for (final Artifact depArtifact : dependencyArtifacts) {
-            ProjectBuildingRequest pbr = getProjectBuildingRequest(configSource);
+            boolean isProjectArtifact = depArtifact.getRepository() == null;
+            ProjectBuildingRequest pbr = getProjectBuildingRequest(configSource, isProjectArtifact);
             MavenProject depProject;
             try {
                 ProjectBuildingResult build = projectBuilder1.build(depArtifact, pbr);
@@ -165,10 +166,15 @@ void addDependencySet(
         }
     }
 
-    private ProjectBuildingRequest getProjectBuildingRequest(AssemblerConfigurationSource configSource) {
-        return new DefaultProjectBuildingRequest(configSource.getMavenSession().getProjectBuildingRequest())
-                .setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL)
-                .setProcessPlugins(false);
+    private ProjectBuildingRequest getProjectBuildingRequest(
+            AssemblerConfigurationSource configSource, boolean isProjectArtifact) {
+        DefaultProjectBuildingRequest pbr =
+                new DefaultProjectBuildingRequest(configSource.getMavenSession().getProjectBuildingRequest());
+        if (!isProjectArtifact) {
+            pbr.setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL)
+                    .setProcessPlugins(false);
+        }
+        return pbr;
     }
 
     private boolean isUnpackWithOptions(DependencySet dependencySet) {