Author: jdcasey
Date: Fri Aug 22 14:04:22 2008
New Revision: 688193

URL: http://svn.apache.org/viewvc?rev=688193&view=rev
Log:
streamlining the maintenance load for things using the concrete/dynamic 
transition method(s) on MavenProjectBuilder. Calling calculate AND restore is 
redundant, when restore should always run just ahead of the next concrete 
transition attempt.

Modified:
    
maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
    
maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    
maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
    
maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java

Modified: 
maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=688193&r1=688192&r2=688193&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
 (original)
+++ 
maven/components/branches/maven-2.0.10-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
 Fri Aug 22 14:04:22 2008
@@ -726,14 +726,14 @@
 //                }
 //            }
             
-            if ( usesReactorProjects )
-            {
-                restoreAllDynamicStates( session );
-            }
-            else
-            {
-                restoreDynamicState( project, session, true );
-            }
+//            if ( usesReactorProjects )
+//            {
+//                restoreAllDynamicStates( session );
+//            }
+//            else
+//            {
+//                restoreDynamicState( project, session, true );
+//            }
         }
     }
     
@@ -816,32 +816,33 @@
             }
         }
     }
-    private void restoreAllDynamicStates( MavenSession session )
-        throws LifecycleExecutionException
-    {
-        List reactorProjects = session.getSortedProjects();
-        if ( reactorProjects != null )
-        {
-            for ( Iterator it = reactorProjects.iterator(); it.hasNext(); )
-            {
-                MavenProject project = (MavenProject) it.next();
-                restoreDynamicState( project, session, false );
-            }
-        }
-    }
-
-    private void restoreDynamicState( MavenProject project, MavenSession 
session, boolean processReferences )
-        throws LifecycleExecutionException
-    {
-        try
-        {
-            mavenProjectBuilder.restoreDynamicState( project, 
session.getProjectBuilderConfiguration(), processReferences );
-        }
-        catch ( ModelInterpolationException e )
-        {
-            throw new LifecycleExecutionException( "Failed to restore dynamic 
state for project: " + project, e );
-        }
-    }
+    
+//    private void restoreAllDynamicStates( MavenSession session )
+//        throws LifecycleExecutionException
+//    {
+//        List reactorProjects = session.getSortedProjects();
+//        if ( reactorProjects != null )
+//        {
+//            for ( Iterator it = reactorProjects.iterator(); it.hasNext(); )
+//            {
+//                MavenProject project = (MavenProject) it.next();
+//                restoreDynamicState( project, session, false );
+//            }
+//        }
+//    }
+//
+//    private void restoreDynamicState( MavenProject project, MavenSession 
session, boolean processReferences )
+//        throws LifecycleExecutionException
+//    {
+//        try
+//        {
+//            mavenProjectBuilder.restoreDynamicState( project, 
session.getProjectBuilderConfiguration(), processReferences );
+//        }
+//        catch ( ModelInterpolationException e )
+//        {
+//            throw new LifecycleExecutionException( "Failed to restore 
dynamic state for project: " + project, e );
+//        }
+//    }
 
     private List getReportExecutions( MavenProject project, Stack 
forkEntryPoints, MojoExecution mojoExecution, MavenSession session )
         throws LifecycleExecutionException, PluginNotFoundException

Modified: 
maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=688193&r1=688192&r2=688193&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 (original)
+++ 
maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 Fri Aug 22 14:04:22 2008
@@ -1833,6 +1833,8 @@
     private void calculateConcreteStateInternal( MavenProject project, 
ProjectBuilderConfiguration config, boolean processProjectReferences, Set 
processedProjects )
         throws ModelInterpolationException
     {
+        restoreDynamicState( project, config, false );
+        
         if ( !project.isConcrete() )
         {
             if ( project.getParent() != null )

Modified: 
maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=688193&r1=688192&r2=688193&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
 (original)
+++ 
maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
 Fri Aug 22 14:04:22 2008
@@ -145,29 +145,29 @@
     void calculateConcreteState( MavenProject project, 
ProjectBuilderConfiguration config, boolean processReferences )
         throws ModelInterpolationException;
 
-    /**
-     * Variant of [EMAIL PROTECTED] 
MavenProjectBuilder#restoreDynamicState(MavenProject, 
ProjectBuilderConfiguration, boolean)}
-     * which assumes that project references should be processed. This is 
provided for performance reasons, for cases
-     * where you know all projects in the reactor will be processed, making 
traversal of project references unnecessary.
-     */
-    void restoreDynamicState( MavenProject project, 
ProjectBuilderConfiguration config )
-        throws ModelInterpolationException;
-    
-    /**
-     * In the event that a mojo execution has changed one or more build paths, 
or changed the project properties,
-     * this method can restore the build section of the POM to its 
uninterpolated form, to allow reevaluation of
-     * any expressions that may depend on this changed information. This 
method will short-circuit if the project
-     * is not in a concrete state (see [EMAIL PROTECTED] 
MavenProjectBuilder#calculateConcreteState(MavenProject, 
ProjectBuilderConfiguration, boolean)}
-     * or if the properties and build paths of the project remain unchanged.
-     * <br/><br/>
-     * This method will process the following:
-     * <ol>
-     *   <li>the specified project's parent project (if not null)</li>
-     *   <li>specified project</li>
-     *   <li>its execution project (if not null)</li>
-     *   <li>any project references (iff processReferences == true)</li>
-     * </ol>
-     */
-    void restoreDynamicState( MavenProject project, 
ProjectBuilderConfiguration config, boolean processReferences )
-        throws ModelInterpolationException;
+//    /**
+//     * Variant of [EMAIL PROTECTED] 
MavenProjectBuilder#restoreDynamicState(MavenProject, 
ProjectBuilderConfiguration, boolean)}
+//     * which assumes that project references should be processed. This is 
provided for performance reasons, for cases
+//     * where you know all projects in the reactor will be processed, making 
traversal of project references unnecessary.
+//     */
+//    void restoreDynamicState( MavenProject project, 
ProjectBuilderConfiguration config )
+//        throws ModelInterpolationException;
+//    
+//    /**
+//     * In the event that a mojo execution has changed one or more build 
paths, or changed the project properties,
+//     * this method can restore the build section of the POM to its 
uninterpolated form, to allow reevaluation of
+//     * any expressions that may depend on this changed information. This 
method will short-circuit if the project
+//     * is not in a concrete state (see [EMAIL PROTECTED] 
MavenProjectBuilder#calculateConcreteState(MavenProject, 
ProjectBuilderConfiguration, boolean)}
+//     * or if the properties and build paths of the project remain unchanged.
+//     * <br/><br/>
+//     * This method will process the following:
+//     * <ol>
+//     *   <li>the specified project's parent project (if not null)</li>
+//     *   <li>specified project</li>
+//     *   <li>its execution project (if not null)</li>
+//     *   <li>any project references (iff processReferences == true)</li>
+//     * </ol>
+//     */
+//    void restoreDynamicState( MavenProject project, 
ProjectBuilderConfiguration config, boolean processReferences )
+//        throws ModelInterpolationException;
 }

Modified: 
maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java?rev=688193&r1=688192&r2=688193&view=diff
==============================================================================
--- 
maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java
 (original)
+++ 
maven/components/branches/maven-2.0.10-RC/maven-project/src/test/java/org/apache/maven/project/MavenProjectDynamismTest.java
 Fri Aug 22 14:04:22 2008
@@ -42,14 +42,14 @@
     extends PlexusTestCase
 {
 
-    private MavenProjectBuilder projectBuilder;
+    private DefaultMavenProjectBuilder projectBuilder;
 
     public void setUp()
         throws Exception
     {
         super.setUp();
 
-        projectBuilder = (MavenProjectBuilder) lookup( 
MavenProjectBuilder.class.getName() );
+        projectBuilder = (DefaultMavenProjectBuilder) lookup( 
MavenProjectBuilder.class.getName() );
     }
 
     public void testBuildSectionGroupIdInterpolation()


Reply via email to