You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2008/08/07 07:08:55 UTC
svn commit: r683506 - in
/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project:
./ builder/ builder/impl/
Author: sisbell
Date: Wed Aug 6 22:08:55 2008
New Revision: 683506
URL: http://svn.apache.org/viewvc?rev=683506&view=rev
Log:
Support for dependencyManagement.
Modified:
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/ArtifactModelContainerFactory.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicTransformer.java
maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=683506&r1=683505&r2=683506&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Wed Aug 6 22:08:55 2008
@@ -2086,7 +2086,7 @@
MavenProject mavenProject;
try {
mavenProject = projectBuilder.buildFromLocalPath(new FileInputStream(projectDescriptor),
- null, null, resolver,
+ null, null, null, resolver,
projectDescriptor.getParentFile());
} catch (IOException e) {
e.printStackTrace();
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=683506&r1=683505&r2=683506&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 Wed Aug 6 22:08:55 2008
@@ -36,7 +36,8 @@
private static final Collection<String> uris = Collections.unmodifiableList( Arrays.asList(
- ProjectUri.DependencyManagement.Dependencies.Dependency.xUri, ProjectUri.Dependencies.Dependency.xUri,
+ ProjectUri.DependencyManagement.Dependencies.Dependency.xUri,
+ ProjectUri.Dependencies.Dependency.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.xUri,
ProjectUri.Build.PluginManagement.Plugins.Plugin.Dependencies.Dependency.xUri,
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=683506&r1=683505&r2=683506&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 Wed Aug 6 22:08:55 2008
@@ -132,6 +132,26 @@
}
}
+ //dependency management
+ ModelDataSource source = new DefaultModelDataSource();
+ source.init( props, Arrays.asList( new ArtifactModelContainerFactory(), new IdModelContainerFactory() ) );
+
+ for(ModelContainer dependencyContainer : source.queryFor( ProjectUri.Dependencies.Dependency.xUri)) {
+ for ( ModelContainer managementContainer : source.queryFor( ProjectUri.DependencyManagement.Dependencies.Dependency.xUri) )
+ {
+ managementContainer = new ArtifactModelContainerFactory().create(transformA(managementContainer.getProperties()));
+ ModelContainerAction action = dependencyContainer.containerAction(managementContainer);
+ if(action.equals(ModelContainerAction.JOIN) || action.equals(ModelContainerAction.DELETE)) {
+ source.join(dependencyContainer, managementContainer);
+ }
+ }
+ }
+
+ props = source.getModelProperties();
+ // for(ModelProperty mp : props) {
+ // System.out.println("-" + mp);
+ // }
+
String xml = null;
try
{
@@ -142,7 +162,7 @@
{
throw new IOException( e + ":\r\n" + xml );
}
- }
+ }
/**
* @see ModelTransformer#transformToModelProperties(java.util.List)
@@ -355,11 +375,12 @@
}
*/
}
- return ModelTransformerContext.transformModelProperties(modelProperties, Arrays.asList(
- new ProfileModelPropertyTransformer(),
- new PluginManagementModelPropertyTransformer(),
- new DependencyManagementModelPropertyTransformer()
- ));
+ return modelProperties;
+ // return ModelTransformerContext.transformModelProperties(modelProperties, Arrays.asList(
+ // new ProfileModelPropertyTransformer(),
+ // new PluginManagementModelPropertyTransformer(),
+ // new DependencyManagementModelPropertyTransformer()
+ // ));
}
/**
@@ -412,13 +433,28 @@
return null;
}
+ private static List<ModelProperty> transformA(List<ModelProperty> modelProperties) {
+ List<ModelProperty> properties = new ArrayList<ModelProperty>();
+ List<ModelProperty> transformedProperties = new ArrayList<ModelProperty>();
+ for(ModelProperty mp : modelProperties) {
+ if(mp.getUri().startsWith(ProjectUri.DependencyManagement.xUri))
+ {
+ transformedProperties.add(new ModelProperty(
+ mp.getUri().replace(ProjectUri.DependencyManagement.xUri, ProjectUri.xUri), mp.getValue()));
+ }
+ }
+ properties.addAll(transformedProperties);
+ return properties;
+ }
+ /*
private static class ProfileModelPropertyTransformer implements ModelPropertyTransformer {
public List<ModelProperty> transform(List<ModelProperty> modelProperties) {
+ List<ModelProperty> properties = new ArrayList<ModelProperty>(modelProperties);
List<ModelProperty> transformedProperties = new ArrayList<ModelProperty>();
for(ModelProperty mp : modelProperties) {
String uri = mp.getUri().replace("profiles#collection/profile", "");
}
- return transformedProperties;
+ return properties;
}
public String getBaseUri() {
@@ -467,5 +503,6 @@
return ProjectUri.baseUri;
}
}
+ */
}
Modified: maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.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/impl/DefaultProjectBuilder.java?rev=683506&r1=683505&r2=683506&view=diff
==============================================================================
--- maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java (original)
+++ maven/components/branches/sisbell-maven-2.1-profile/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java Wed Aug 6 22:08:55 2008
@@ -157,6 +157,8 @@
PomClassicDomainModel transformedDomainModel =
( (PomClassicDomainModel) ctx.transform( domainModels, transformer, transformer, importModels, properties ) );
+
+
Model model = transformedDomainModel.getModel();
return new MavenProject( model );
}