Author: sisbell
Date: Thu Aug 28 17:32:47 2008
New Revision: 690059
URL: http://svn.apache.org/viewvc?rev=690059&view=rev
Log:
It's still possible that the exclusions properties (dependency/exclusions) will
be sorted first when joining a container. This fix explicitly finds the base
URI so that the ids (artifactId, groupId) will always be correct, regardless of
order.
Modified:
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
Modified:
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.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/ArtifactModelContainerFactory.java?rev=690059&r1=690058&r2=690059&view=diff
==============================================================================
---
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
(original)
+++
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
Thu Aug 28 17:32:47 2008
@@ -73,22 +73,36 @@
private List<ModelProperty> properties;
+ private static String findBaseUriFrom(List<ModelProperty>
modelProperties)
+ {
+ String baseUri = null;
+ for(ModelProperty mp : modelProperties)
+ {
+ if(baseUri == null || mp.getUri().length() < baseUri.length())
+ {
+ baseUri = mp.getUri();
+ }
+ }
+ return baseUri;
+ }
+
private ArtifactModelContainer( List<ModelProperty> properties )
{
this.properties = new ArrayList<ModelProperty>( properties );
this.properties = Collections.unmodifiableList( this.properties );
+ String uri = findBaseUriFrom( this.properties );
for ( ModelProperty mp : properties )
{
- if ( mp.getUri().endsWith( "version" ) && version == null)
+ if ( version == null && mp.getUri().equals( uri + "/version" )
)
{
this.version = mp.getValue();
}
- else if ( mp.getUri().endsWith( "artifactId" ) && artifactId
== null)
+ else if ( artifactId == null && mp.getUri().equals( uri +
"/artifactId" ) )
{
this.artifactId = mp.getValue();
}
- else if ( mp.getUri().endsWith( "groupId" ) && groupId == null)
+ else if ( groupId == null && mp.getUri().equals( uri +
"/groupId" ) )
{
this.groupId = mp.getValue();
}