[ 
https://issues.apache.org/jira/browse/MNG-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17718504#comment-17718504
 ] 

ASF GitHub Bot commented on MNG-7774:
-------------------------------------

slawekjaranowski commented on code in PR #1097:
URL: https://github.com/apache/maven/pull/1097#discussion_r1182332073


##########
maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java:
##########
@@ -301,11 +307,17 @@ void initialize(CliRequest cliRequest) throws 
ExitException {
                 System.err.format("-D%s system property is not set.", 
MULTIMODULE_PROJECT_DIRECTORY);
                 throw new ExitException(1);
             }
-            File basedir = basedirProperty != null ? new File(basedirProperty) 
: new File("");
-            try {
-                cliRequest.multiModuleProjectDirectory = 
basedir.getCanonicalFile();
-            } catch (IOException e) {
-                cliRequest.multiModuleProjectDirectory = 
basedir.getAbsoluteFile();
+            File basedir = new File(basedirProperty);
+            if (new File(basedir, DOT_MVN).isDirectory()) {
+                try {
+                    cliRequest.multiModuleProjectDirectory = 
basedir.getCanonicalFile();
+                } catch (IOException e) {
+                    cliRequest.multiModuleProjectDirectory = 
basedir.getAbsoluteFile();
+                }
+            }
+        } else {
+            if 
(!isMultiModuleProjectDirectoryAcceptable(cliRequest.multiModuleProjectDirectory))
 {
+                cliRequest.multiModuleProjectDirectory = null;

Review Comment:
   Will be ok that multiModuleProjectDirectory will be null.?
   What other impact it can have?





> Maven config and command line interpolation
> -------------------------------------------
>
>                 Key: MNG-7774
>                 URL: https://issues.apache.org/jira/browse/MNG-7774
>             Project: Maven
>          Issue Type: Task
>          Components: Command Line
>            Reporter: Tamas Cservenak
>            Assignee: Tamas Cservenak
>            Priority: Major
>             Fix For: 3.9.2
>
>
> Note: this issue "mildly follows" functionality done in Maven 4 as part of 
> MNG-7038 and MNG-6303, with partial implementation only (is not full 
> back-port), hence "mild introduction".
> Rationale: many new resolver features are akin to be able to store their 
> configuration and input along SCM tracked Maven project sources. Sadly, 
> currently this is not possible. The two issues targeting Maven4 (MNG-7038 and 
> MNG-6303) with introduction of session and project "topDirectory" and 
> "rootDirectory" properties solve this. Still, Maven 3.9.x does not need all 
> of this.
> So, idea is following:
>  * extend MavenCli to interpolate Maven arguments
>  * introduce two special properties {{session.rootDirectory}} and 
> {{session.topDirectory}} in interpolation. They are special, as they may not 
> be defined, and IF they are not defined, their use in Maven argument 
> interpolation causes error (Maven will not boot).
>  * limit the use of the two new properties to Maven CLI interpolation only. 
> This makes projects relying on Maven CLI interpolation "permeable" between 
> Maven 3.9.x and Maven 4, while all the whistle and bells (exposing this via 
> session or project) will be available in Maven 4 only.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to