decoupled project #file and #basedir to allow pom.xml processing

Signed-off-by: Igor Fedorenko <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/c15226f1
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/c15226f1
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/c15226f1

Branch: refs/heads/master
Commit: c15226f13f6d071d1e926880139d350cc4546b6f
Parents: 8643e00
Author: Igor Fedorenko <[email protected]>
Authored: Tue Nov 25 15:32:49 2014 -0500
Committer: Igor Fedorenko <[email protected]>
Committed: Tue Nov 25 19:11:00 2014 -0500

----------------------------------------------------------------------
 .../org/apache/maven/project/MavenProject.java  | 23 ++++++++++++--------
 1 file changed, 14 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/c15226f1/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
----------------------------------------------------------------------
diff --git 
a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java 
b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
index 2289465..641ebda 100644
--- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
+++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
@@ -101,6 +101,8 @@ public class MavenProject
 
     private File file;
 
+    private File basedir;
+
     private Set<Artifact> resolvedArtifacts;
 
     private ArtifactFilter artifactFilter;
@@ -253,19 +255,22 @@ public class MavenProject
     public void setFile( File file )
     {
         this.file = file;
+        this.basedir = file != null ? file.getParentFile() : null;
+    }
+
+    /**
+     * Sets project {@code file} without changing project {@code basedir}.
+     * 
+     * @since 3.2.4
+     */
+    public void setPomFile( File file )
+    {
+        this.file = file;
     }
 
     public File getBasedir()
     {
-        if ( getFile() != null )
-        {
-            return getFile().getParentFile();
-        }
-        else
-        {
-            // repository based POM
-            return null;
-        }
+        return basedir;
     }
 
     public void setDependencies( List<Dependency> dependencies )

Reply via email to