Author: sisbell
Date: Mon Sep  1 22:14:50 2008
New Revision: 691108

URL: http://svn.apache.org/viewvc?rev=691108&view=rev
Log:
Moved the plugin execution id rule to transformToDomainModel method since it 
needs to be processed against a merged pom.

Modified:
    
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java

Modified: 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
URL: 
http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java?rev=691108&r1=691107&r2=691108&view=diff
==============================================================================
--- 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
 (original)
+++ 
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
 Mon Sep  1 22:14:50 2008
@@ -184,8 +184,38 @@
                 }
         }
 
+
         props = source.getModelProperties();
 
+       //Rule: Do not join plugin executions without ids
+       Set<ModelProperty> removeProperties = new HashSet<ModelProperty>();
+       ModelDataSource dataSource = new DefaultModelDataSource();
+       dataSource.init( props, Arrays.asList( new 
ArtifactModelContainerFactory(), new IdModelContainerFactory() ) );
+       List<ModelContainer> containers =  dataSource.queryFor( 
ProjectUri.Build.Plugins.Plugin.xUri );
+        for (ModelContainer pluginContainer : containers) {
+            ModelDataSource executionSource = new DefaultModelDataSource();
+            executionSource.init( pluginContainer.getProperties(), 
Arrays.asList( new ArtifactModelContainerFactory(),
+                    new IdModelContainerFactory() ) );
+            List<ModelContainer> executionContainers =
+                    executionSource.queryFor( 
ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri  );
+            if(executionContainers.size() < 2)
+            {
+                continue;
+            }
+
+            boolean hasAtLeastOneWithoutId = true;
+            for (ModelContainer executionContainer : executionContainers) {
+                if(hasAtLeastOneWithoutId)
+                {
+                    hasAtLeastOneWithoutId = 
hasExecutionId(executionContainer);
+                }
+                if(!hasAtLeastOneWithoutId && 
!hasExecutionId(executionContainer) && 
executionContainers.indexOf(executionContainer) > 0)
+                {
+                    
removeProperties.addAll(executionContainer.getProperties());
+                }
+            }
+        }
+        props.removeAll(removeProperties);
         String xml = null;
         try
         {
@@ -306,6 +336,10 @@
             {
                 List<ModelProperty> removeProperties = new 
ArrayList<ModelProperty>();
                 ModelDataSource source = new DefaultModelDataSource();
+                for(ModelProperty mp : tmp)
+                {
+                    System.out.println(mp);
+                }
                 source.init( tmp, Arrays.asList( new 
ArtifactModelContainerFactory(), new IdModelContainerFactory() ) );
                 List<ModelContainer> containers = source.queryFor( 
ProjectUri.Build.Plugins.Plugin.xUri );
                 for ( ModelContainer container : containers )
@@ -454,34 +488,6 @@
                        */
         }
 
-       //Rule: Do not join plugin executions without ids
-       Set<ModelProperty> removeProperties = new HashSet<ModelProperty>();
-       ModelDataSource source = new DefaultModelDataSource();
-       source.init( modelProperties, Arrays.asList( new 
ArtifactModelContainerFactory(), new IdModelContainerFactory() ) );
-       List<ModelContainer> containers =  source.queryFor( 
ProjectUri.Build.Plugins.Plugin.xUri );
-        for (ModelContainer pluginContainer : containers) {
-            ModelDataSource executionSource = new DefaultModelDataSource();
-            executionSource.init( pluginContainer.getProperties(), 
Arrays.asList( new ArtifactModelContainerFactory(),
-                    new IdModelContainerFactory() ) );
-            List<ModelContainer> executionContainers =
-                    executionSource.queryFor( 
ProjectUri.Build.Plugins.Plugin.Executions.Execution.xUri  );
-            if(executionContainers.size() < 2)
-            {
-                break;
-            }
-            boolean hasAtLeastOneWithoutId = true;
-            for (ModelContainer executionContainer : executionContainers) {
-                if(hasAtLeastOneWithoutId)
-                {
-                    hasAtLeastOneWithoutId = 
hasExecutionId(executionContainer);
-                }
-                if(!hasAtLeastOneWithoutId && 
!hasExecutionId(executionContainer) && 
executionContainers.indexOf(executionContainer) > 0)
-                {
-                    
removeProperties.addAll(executionContainer.getProperties());
-                }
-            }           
-        }
-        modelProperties.removeAll(removeProperties);
         return modelProperties;
     }
 


Reply via email to