You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/07/26 22:36:32 UTC

svn commit: r797988 - in /maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building: DefaultModelBuilder.java DefaultModelBuildingRequest.java ModelBuildingRequest.java

Author: bentmann
Date: Sun Jul 26 20:36:32 2009
New Revision: 797988

URL: http://svn.apache.org/viewvc?rev=797988&view=rev
Log:
o Enabled two-phase model building which allows to address inter-model dependencies within a reactor build

Modified:
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java?rev=797988&r1=797987&r2=797988&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java Sun Jul 26 20:36:32 2009
@@ -190,7 +190,10 @@
             result.setRawModel( modelId, currentData.getRawModel() );
         }
 
-        build( request, result );
+        if ( !request.isTwoPhaseBuilding() )
+        {
+            build( request, result );
+        }
 
         return result;
     }

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java?rev=797988&r1=797987&r2=797988&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java Sun Jul 26 20:36:32 2009
@@ -45,6 +45,8 @@
 
     private boolean processPlugins;
 
+    private boolean twoPhaseBuilding;
+
     private List<Profile> profiles;
 
     private List<String> activeProfileIds;
@@ -111,6 +113,18 @@
         return this;
     }
 
+    public boolean isTwoPhaseBuilding()
+    {
+        return twoPhaseBuilding;
+    }
+
+    public DefaultModelBuildingRequest setTwoPhaseBuilding( boolean twoPhaseBuilding )
+    {
+        this.twoPhaseBuilding = twoPhaseBuilding;
+
+        return this;
+    }
+
     public List<Profile> getProfiles()
     {
         if ( profiles == null )

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java?rev=797988&r1=797987&r2=797988&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java Sun Jul 26 20:36:32 2009
@@ -135,6 +135,27 @@
     ModelBuildingRequest setProcessPlugins( boolean processPlugins );
 
     /**
+     * Indicates whether the model building should happen in two phases. If enabled, the initial invocation of the model
+     * builder will only produce an interim result which may be used to analyze inter-model dependencies before the
+     * final invocation of the model builder is performed.
+     * 
+     * @return {@code true} if two-phase building is enabled, {@code false} if the model should be build in a single
+     *         step.
+     */
+    boolean isTwoPhaseBuilding();
+
+    /**
+     * Enables/disables two-phase building. If enabled, the initial invocation of the model builder will only produce an
+     * interim result which may be used to analyze inter-model dependencies before the final invocation of the model
+     * builder is performed.
+     * 
+     * @param twoPhaseBuilding {@code true} to enable two-phase building, {@code false} if the model should be build in
+     *            a single step.
+     * @return This request, never {@code null}.
+     */
+    ModelBuildingRequest setTwoPhaseBuilding( boolean twoPhaseBuilding );
+
+    /**
      * Gets the external profiles that should be considered for model building.
      * 
      * @return The external profiles that should be considered for model building, never {@code null}.