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; }