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