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


Reply via email to