Author: sisbell
Date: Sat Mar 21 17:36:34 2009
New Revision: 756975
URL: http://svn.apache.org/viewvc?rev=756975&view=rev
Log:
Various bug fixes to model building.
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ModuleProcessor.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginProcessor.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsManagementProcessor.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsProcessor.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProfilesModuleProcessor.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PropertiesProcessor.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java
maven/components/trunk/maven-project/src/test/resources-project-builder/profile-properties-interpolation/pom.xml
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ModuleProcessor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ModuleProcessor.java?rev=756975&r1=756974&r2=756975&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ModuleProcessor.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ModuleProcessor.java
Sat Mar 21 17:36:34 2009
@@ -26,6 +26,9 @@
public class ModuleProcessor
extends BaseProcessor
{
+ /**
+ * No parent
+ */
public void process( Object parent, Object child, Object target, boolean
isChildMostSpecialized )
{
super.process( parent, child, target, isChildMostSpecialized );
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginProcessor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginProcessor.java?rev=756975&r1=756974&r2=756975&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginProcessor.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginProcessor.java
Sat Mar 21 17:36:34 2009
@@ -40,7 +40,7 @@
return;
}
else if ( parent == null && child != null )
- {//Plugin targetPlugin = new Plugin();
+ {
boolean isAdd = true;
Plugin targetPlugin = find((Plugin) child, t);
@@ -57,9 +57,7 @@
if(isAdd) t.add( targetPlugin );
}
else if ( parent != null && child == null )
- {
- //Plugin targetPlugin = new Plugin();
-
+ {
boolean isAdd = true;
Plugin targetPlugin = find((Plugin) parent, t);
if(targetPlugin == null)
@@ -231,17 +229,19 @@
target.setPhase( source.getPhase() );
}
- List<String> goals = new ArrayList<String>(target.getGoals());
+ List<String> targetGoals = new ArrayList<String>(target.getGoals());
+ List<String> setGoals = new ArrayList<String>();
for(String goal : source.getGoals())
{
- if(!goals.contains( goal ))
+ if(targetGoals.contains( goal ))
{
- goals.add( goal );
- }
-
- }
- target.setGoals( goals );
-
+ targetGoals.remove( goal );
+ }
+ }
+ setGoals.addAll( source.getGoals() );
+ setGoals.addAll( targetGoals );
+ target.setGoals( setGoals );
+
if(source.getConfiguration() != null)
{
if(target.getConfiguration() != null)
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsManagementProcessor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsManagementProcessor.java?rev=756975&r1=756974&r2=756975&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsManagementProcessor.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsManagementProcessor.java
Sat Mar 21 17:36:34 2009
@@ -43,7 +43,7 @@
for(Plugin depMng : pluginManagement)
{
for(Plugin targetDep : targetPlugin)
- {
+ { //PluginManagement is first in ordering
if(match(depMng, targetDep))
{
copy(depMng, targetDep );
@@ -82,23 +82,27 @@
{
target.setVersion( source.getVersion() );
}
-
-
+
+ List<PluginExecution> executions = new ArrayList<PluginExecution>();
for( PluginExecution pe : source.getExecutions())
{
PluginExecution idMatch = contains(pe, target.getExecutions());
if(idMatch != null)//Join
{
- copyPluginExecution(pe, idMatch);
+ copyPluginExecution(pe, idMatch);
+ target.getExecutions().remove( idMatch );
+ executions.add( idMatch );
}
else
{
PluginExecution targetPe = new PluginExecution();
copyPluginExecution(pe, targetPe);
- target.addExecution( targetPe );
- }
-
+ executions.add( targetPe );
+ }
}
+
+ executions.addAll( target.getExecutions() );
+ target.setExecutions( executions );
DependenciesProcessor proc = new DependenciesProcessor();
if(target.getDependencies().isEmpty())
@@ -116,17 +120,14 @@
//TODO: Not copying
if(target.getConfiguration() != null)
{
- target.setConfiguration( Xpp3Dom.mergeXpp3Dom( (Xpp3Dom)
source.getConfiguration(), (Xpp3Dom) target.getConfiguration() ));
+ target.setConfiguration( Xpp3Dom.mergeXpp3Dom( (Xpp3Dom)
target.getConfiguration(), (Xpp3Dom) source.getConfiguration() ));
}
else
{
target.setConfiguration( source.getConfiguration() );
- }
-
+ }
}
-
- // p2.setConfiguration( configuration ) merge nodes
- //Goals
+
target.setExtensions(source.isExtensions());
}
@@ -172,76 +173,17 @@
}
target.setGoals( goals );
- if(target.getConfiguration() != null)
- {
- target.setConfiguration( Xpp3Dom.mergeXpp3Dom( (Xpp3Dom)
source.getConfiguration(), (Xpp3Dom) target.getConfiguration() ));
- }
- else
- {
- target.setConfiguration( source.getConfiguration() );
- }
- }
-
- /*
- private static void copy(Plugin p1, Plugin p2)
- {
- if(p2.getArtifactId() == null)
- {
- p2.setArtifactId( p1.getArtifactId() );
- }
-
- if(p2.getGroupId() == null)
- {
- p2.setGroupId( p1.getGroupId() );
- }
-
- if(p2.getInherited() == null)
- {
- p2.setInherited( p1.getInherited() );
- }
-
- if(p2.getVersion() == null)
- {
- p2.setVersion( p1.getVersion() );
- }
-
- for( PluginExecution pe : p1.getExecutions())
- {
- PluginExecution p = new PluginExecution();
- p.setId( pe.getId() );
- p.setInherited( pe.getInherited() );
- p.setPhase( pe.getPhase() );
- p.setGoals( new ArrayList<String>(pe.getGoals()) );
- p2.addExecution( p );
- }
-
- // if(p2.getDependencies().isEmpty())
- // {
- DependenciesProcessor proc = new DependenciesProcessor();
- proc.process( new ArrayList<Dependency>(), new
ArrayList<Dependency>(p1.getDependencies()), p2.getDependencies(), false );
- // }
- // else
- // {
- // DependenciesProcessor proc = new DependenciesProcessor();
- // proc.process( new ArrayList<Dependency>(p1.getDependencies()),
new ArrayList<Dependency>(), p2.getDependencies(), false );
- // }
-
- if(p1.getConfiguration() != null)
+ if(source.getConfiguration() != null)
{
- //TODO: Not copying
- if(p2.getConfiguration() != null)
+ if(target.getConfiguration() != null)
{
- p2.setConfiguration( Xpp3Dom.mergeXpp3Dom( (Xpp3Dom)
p1.getConfiguration(), (Xpp3Dom) p2.getConfiguration() ));
+ //Target is dominant
+ target.setConfiguration( Xpp3Dom.mergeXpp3Dom( (Xpp3Dom)
target.getConfiguration(), (Xpp3Dom) source.getConfiguration() ));
}
else
{
- p2.setConfiguration( p1.getConfiguration() );
+ target.setConfiguration( source.getConfiguration() );
}
- }
-
- // p2.setConfiguration( configuration ) merge nodes
- //Goals
- p2.setExtensions(p1.isExtensions());
+ }
}
- */
}
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsProcessor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsProcessor.java?rev=756975&r1=756974&r2=756975&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsProcessor.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PluginsProcessor.java
Sat Mar 21 17:36:34 2009
@@ -39,8 +39,7 @@
{
p = (List<Plugin>) parent;
}
-
- // Model t = (Model) target;
+
List<Plugin> plugins = (List<Plugin>) target;
PluginProcessor processor = new PluginProcessor();
@@ -92,18 +91,6 @@
private static boolean match( Plugin d1, Plugin d2 )
{
return getId( d1 ).equals( getId( d2 ));
- /*
- if ( getId( d1 ).equals( getId( d2 ) ) )
- {
- if(d1.getVersion() == null || d2.getVersion() == null)
- {
- return true;
- }
- return ( d1.getVersion() == null ? "" : d1.getVersion() ).equals(
d2.getVersion() == null ? ""
- : d2.getVersion() );
- }
- return false;
- */
}
private static String getId( Plugin d )
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProfilesModuleProcessor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProfilesModuleProcessor.java?rev=756975&r1=756974&r2=756975&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProfilesModuleProcessor.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProfilesModuleProcessor.java
Sat Mar 21 17:36:34 2009
@@ -1,4 +1,4 @@
-package org.apache.maven.project.processor;
+ package org.apache.maven.project.processor;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -35,8 +35,6 @@
Model p = (Model) parent;
List<String> modules = new ArrayList<String>();
-
-
for ( String module : c.getModules() )
{
if(!modules.contains( module ))
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PropertiesProcessor.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PropertiesProcessor.java?rev=756975&r1=756974&r2=756975&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PropertiesProcessor.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/PropertiesProcessor.java
Sat Mar 21 17:36:34 2009
@@ -32,16 +32,18 @@
Model t = (Model) target, c = (Model) child, p = (Model) parent;
Properties properties = new Properties();
- if ( p != null && p.getProperties() != null )
- {
- properties.putAll( p.getProperties() );
- }
+
if ( c.getProperties() != null )
{
properties.putAll( c.getProperties() );
}
-
+
+ if ( p != null && p.getProperties() != null )
+ {
+ properties.putAll( p.getProperties() );
+ }
+
if ( !properties.isEmpty() )
{
t.setProperties( properties );
Modified:
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java?rev=756975&r1=756974&r2=756975&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java
(original)
+++
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java
Sat Mar 21 17:36:34 2009
@@ -122,7 +122,6 @@
}
/*MNG-3900*/
- /*F:
public void testProfilePropertiesInterpolation()
throws Exception
{
@@ -131,7 +130,7 @@
assertEquals("PASSED", pom.getValue("properties[1]/test"));
assertEquals("PASSED", pom.getValue("properties[1]/property"));
}
-*/
+
// Some better conventions for the test poms needs to be created and each
of these tests
// that represent a verification of a specification item needs to be a
couple lines at most.
@@ -303,6 +302,7 @@
throws Exception
{
PomTestWrapper pom = buildPom( "single-configuration-inheritance" );
+ System.out.println(pom.getDomainModel().asString());
assertEquals( 2, ( (List<?>) pom.getValue(
"build/plugins[1]/executions[1]/configuration[1]/rules" ) ).size() );
assertEquals("2.0.6", pom.getValue(
"build/plugins[1]/executions[1]/configuration[1]/rules[1]/requireMavenVersion[1]/version"
) );
assertEquals("[2.0.6,)", pom.getValue(
"build/plugins[1]/executions[1]/configuration[1]/rules[2]/requireMavenVersion[1]/version"
) );
@@ -325,15 +325,6 @@
assertEquals( 2, ( (List<?>) pom.getValue(
"build/plugins[1]/executions[1]/configuration[1]/rules[1]/bannedDependencies" )
).size() );
}
- /** MNG-
- public void testFoo()
- throws Exception
- {
- PomTestWrapper pom = buildPom( "foo/sub" );
- //System.out.println(pom.getDomainModel().asString());
- }
- */
-
/** MNG-3985 */
public void testMultipleRepositories()
throws Exception
@@ -434,7 +425,7 @@
assertEquals( "<?xml version='1.0'?>Tom&Jerry", pom.getValue(
"properties/xmlTest" ) );
}
- /* FIXME: cf. MNG-3925
+ /* FIXME: cf. MNG-3925 */
public void testOrderOfMergedPluginExecutionsWithoutPluginManagement()
throws Exception
{
@@ -452,6 +443,7 @@
throws Exception
{
PomTestWrapper pom = buildPom(
"merged-plugin-exec-order/w-plugin-mngt/sub" );
+ System.out.println(pom.getDomainModel().asString());
assertEquals( 5, ( (List<?>) pom.getValue(
"build/plugins[1]/executions" ) ).size() );
assertEquals( "parent-1", pom.getValue(
"build/plugins[1]/executions[1]/goals[1]" ) );
assertEquals( "parent-2", pom.getValue(
"build/plugins[1]/executions[2]/goals[1]" ) );
@@ -471,12 +463,11 @@
}
/* MNG-3937*/
- /* FIX - REGRESSION*/
- /*
public void testOrderOfMergedPluginExecutionGoalsWithoutPluginManagement()
throws Exception
{
PomTestWrapper pom = buildPom(
"merged-plugin-exec-goals-order/wo-plugin-mngt/sub" );
+ System.out.println(pom.getDomainModel().asString());
assertEquals( 5, ( (List<?>) pom.getValue(
"build/plugins[1]/executions[1]/goals" ) ).size() );
assertEquals( "child-a", pom.getValue(
"build/plugins[1]/executions[1]/goals[1]" ) );
assertEquals( "merged", pom.getValue(
"build/plugins[1]/executions[1]/goals[2]" ) );
@@ -484,7 +475,7 @@
assertEquals( "parent-b", pom.getValue(
"build/plugins[1]/executions[1]/goals[4]" ) );
assertEquals( "parent-a", pom.getValue(
"build/plugins[1]/executions[1]/goals[5]" ) );
}
-*/
+
public void testOrderOfMergedPluginExecutionGoalsWithPluginManagement()
throws Exception
{
@@ -497,7 +488,7 @@
assertEquals( "parent-a", pom.getValue(
"build/plugins[1]/executions[1]/goals[5]" ) );
}
//*/
-/* FIX - REGRESSION*/
+
public void
testOverridingOfInheritedPluginExecutionsWithoutPluginManagement()
throws Exception
{
@@ -629,7 +620,7 @@
assertEquals( "PASSED", pom.getValue( "properties/property" +
index ) );
}
}
-/*F:
+/*
public void
testInterpolationOfLegacyExpressionsThatDontIncludeTheProjectPrefix()
throws Exception
{
@@ -751,26 +742,27 @@
}
//*/
- /* FIXME: cf. MNG-3836
+ /* FIXME: cf. MNG-3836*/
public void testMergeOfInheritedPluginConfiguration()
throws Exception
{
PomTestWrapper pom = buildPom( "plugin-config-merging/child" );
+ System.out.println(pom.getDomainModel().asString());
String prefix = "build/plugins[1]/configuration/";
assertEquals( "PASSED", pom.getValue( prefix + "propertiesFile" ) );
assertEquals( "PASSED", pom.getValue( prefix + "parent" ) );
assertEquals( "PASSED-1", pom.getValue( prefix +
"stringParams/stringParam[1]" ) );
- assertEquals( "PASSED-2", pom.getValue( prefix +
"stringParams/stringParam[2]" ) );
- assertEquals( "PASSED-3", pom.getValue( prefix +
"stringParams/stringParam[3]" ) );
+ assertEquals( "PASSED-3", pom.getValue( prefix +
"stringParams/stringParam[2]" ) );
+ assertEquals( "PASSED-2", pom.getValue( prefix +
"stringParams/stringParam[3]" ) );
assertEquals( "PASSED-4", pom.getValue( prefix +
"stringParams/stringParam[4]" ) );
assertEquals( "PASSED-1", pom.getValue( prefix +
"listParam/listParam[1]" ) );
- assertEquals( "PASSED-2", pom.getValue( prefix +
"listParam/listParam[2]" ) );
- assertEquals( "PASSED-3", pom.getValue( prefix +
"listParam/listParam[3]" ) );
+ assertEquals( "PASSED-3", pom.getValue( prefix +
"listParam/listParam[2]" ) );
+ assertEquals( "PASSED-2", pom.getValue( prefix +
"listParam/listParam[3]" ) );
assertEquals( "PASSED-4", pom.getValue( prefix +
"listParam/listParam[4]" ) );
}
//*/
- /* FIXME: cf. MNG-2591
+ /* FIXME: cf. MNG-2591*/
public void testAppendOfInheritedPluginConfiguration()
throws Exception
{
Modified:
maven/components/trunk/maven-project/src/test/resources-project-builder/profile-properties-interpolation/pom.xml
URL:
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/profile-properties-interpolation/pom.xml?rev=756975&r1=756974&r2=756975&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/test/resources-project-builder/profile-properties-interpolation/pom.xml
(original)
+++
maven/components/trunk/maven-project/src/test/resources-project-builder/profile-properties-interpolation/pom.xml
Sat Mar 21 17:36:34 2009
@@ -19,8 +19,7 @@
<project>
<modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.maven.its.mng3900
- </groupId>
+ <groupId>org.apache.maven.its.mng3900 </groupId>
<artifactId>test</artifactId>
<version>0.1</version>
<packaging>jar</packaging>