desruisseaux commented on code in PR #11702:
URL: https://github.com/apache/maven/pull/11702#discussion_r2812996198
##########
impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java:
##########
@@ -692,49 +692,102 @@ private void initProject(MavenProject project,
ModelBuilderResult result) {
}
/*
- * `sourceDirectory`, `testSourceDirectory` and
`scriptSourceDirectory`
- * are ignored if the POM file contains at least one enabled
<source> element
- * for the corresponding scope and language. This rule exists
because
- * Maven provides default values for those elements which may
conflict
- * with user's configuration.
+ * Source directory handling depends on project type and
<sources> configuration:
*
- * Additionally, for modular projects, legacy directories are
unconditionally
- * ignored because it is not clear how to dispatch their
content between
- * different modules. A warning is emitted if these properties
are explicitly set.
+ * 1. CLASSIC projects (no <sources>):
+ * - All legacy directories are used
+ *
+ * 2. MODULAR projects (have <module> in <sources>):
+ * - ALL legacy directories are rejected (can't dispatch
between modules)
+ * - Physical presence of default directories
(src/main/java) also triggers ERROR
Review Comment:
Some documentation of the compiler plugin 4.x cover source directory layout,
in particular:
* [Declaration of source
directories](https://maven.apache.org/plugins/maven-compiler-plugin-4.x/sources.html)
* [Modular
project](https://maven.apache.org/plugins/maven-compiler-plugin-4.x/modules.html)
This documentation has not yet been reflected in the main Maven
documentation such as "Introduction to the Standard Directory Layout". A reason
is that while the work is completed on the compiler plugin side it is not
finished on JAR plugin side (pull request ready, waiting for the next Maven 4
release before to submit for merge) and Surefire plugin side (waiting for the
ongoing big simplification).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]