Benjamin Marwell created MNG-8162: ------------------------------------- Summary: Maven should warn about modules relative to parent directory Key: MNG-8162 URL: https://issues.apache.org/jira/browse/MNG-8162 Project: Maven Issue Type: Task Components: Core Reporter: Benjamin Marwell
Maven should warn if a pom project references modules which are not direct descendants, e.g. {code:html} <module>../other</module> {code} h2. Rationale Given this situation: * the repository root does not contain the root pom.xml * A subfolder contains the "root" pom.xml (e.g. ./Build/pom.xml) * Maven must be called either via {{mvn -f Build}} or {{cd Build && mvn}} Then it is hard to determine the root: * Is it in the VCS clone/checkout root? * Is it in the first common ancestor? Maybe it is in {{project/dev/impl/Build}} ? * Is root=true a valid tag in either of these cases? * what if you call maven from even yet a higher directory? * What if both .mvn folders and the root tags are present? * What if there are multitple .mvn folders (lets say in repo root, and in ./project/dev/impl and in ./project/dev/impl/Build)? In any of those cases and combinations of those, Maven should print a warning h2. Suggested warning {code} [WARN] This maven project has modules relative to the parent folder (<module>../{..}</module>. This is an invalid configuration and will be unsupported in future releases. To fix, move all descendants of a pom project to its folder, making it a direct descendant. {code} h2. Checks Should be included in the new self-check h2. Suggested deprecation Maven 5 should not work under such circumstances h2. Backports Might be a candidate for backporting to 3.9. -- This message was sent by Atlassian Jira (v8.20.10#820010)