This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch maven-4.0.x-test-fixes in repository https://gitbox.apache.org/repos/asf/maven.git
commit 29a68efdaf704f0dfb416828477229b4c74a2b4c Author: Guillaume Nodet <[email protected]> AuthorDate: Wed Apr 1 10:41:25 2026 +0200 fix: sync Build.resources from sources set for Maven 3 compat Also sync the model's Build.resources after project building so that project.getBuild().getResources() is consistent with project.getResources() even when resources are defined via <sources> (Maven 4.1.0 model) rather than legacy <resources>. Co-Authored-By: Claude Opus 4.6 <[email protected]> --- .../org/apache/maven/project/DefaultProjectBuilder.java | 6 ++++++ .../main/java/org/apache/maven/project/MavenProject.java | 13 +++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java index bcc0e28abb..efa4ce2efc 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java +++ b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java @@ -771,6 +771,12 @@ implicit fallback (only if they match the default, e.g., inherited) sourceContext.handleResourceConfiguration(ProjectScope.MAIN); sourceContext.handleResourceConfiguration(ProjectScope.TEST); } + + // Sync model Build resources from sources set so that + // project.getBuild().getResources() is consistent with project.getResources(). + // This is needed for Maven 3 plugin compatibility, since some plugins + // (e.g. maven-source-plugin) access resources via project.getBuild().getResources(). + project.syncBuildResources(); } project.setActiveProfiles( diff --git a/impl/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/impl/maven-core/src/main/java/org/apache/maven/project/MavenProject.java index 72a81e64a4..e6c2c05acb 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/project/MavenProject.java +++ b/impl/maven-core/src/main/java/org/apache/maven/project/MavenProject.java @@ -848,16 +848,21 @@ private void addResource(ProjectScope scope, Resource resource) { } /** - * @deprecated {@link Resource} is replaced by {@link SourceRoot}. + * Syncs {@code Build.resources/testResources} from the {@code sources} set + * for Maven 3 plugin compatibility (e.g. when resources come from {@code <sources>}). */ + void syncBuildResources() { + getModelBuild().setResources(new java.util.ArrayList<>(getResources())); + getModelBuild().setTestResources(new java.util.ArrayList<>(getTestResources())); + } + + /** @deprecated {@link Resource} is replaced by {@link SourceRoot}. */ @Deprecated(since = "4.0.0") public void addResource(Resource resource) { addResource(ProjectScope.MAIN, resource); } - /** - * @deprecated {@link Resource} is replaced by {@link SourceRoot}. - */ + /** @deprecated {@link Resource} is replaced by {@link SourceRoot}. */ @Deprecated(since = "4.0.0") public void addTestResource(Resource testResource) { addResource(ProjectScope.TEST, testResource);
