Consumer POM of multi-module project should exclude <build> and <dependencies> elements #11639
+26
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Maven 4 automatically generates a consumer POM after a successful build. This consumer POM already excludes some elements from the original POM such as the list of sub-projects. However, when building a modular project (in Java sense), there are two more elements that need to be excluded:
<build>because it contains (in the modular case) the<sources>element which is not compatible with the Maven 4.0.0 model. This pull request removes the full<build>element instead of only the<sources>child element because the build configuration is invalid without the sources, and I think that information about how the project was built is not really necessary for consumers anyway.<dependencies>because the effective dependencies will be dispatched in the POM files generated bymaven-jar-pluginfor each Java module from the content ofmodule-info.class.