Author: bentmann Date: Sat Jun 20 16:40:21 2009 New Revision: 786853 URL: http://svn.apache.org/viewvc?rev=786853&view=rev Log: o Removed super POM handling from project builder and did a proper call to the model builder instead
Added: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/ (with props) maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/standalone.xml (with props) Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java maven/components/trunk/maven-model-builder/src/main/resources/org/apache/maven/project/pom-4.0.0.xml Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java?rev=786853&r1=786852&r2=786853&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java (original) +++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java Sat Jun 20 16:40:21 2009 @@ -16,7 +16,6 @@ */ import java.io.File; -import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -38,7 +37,7 @@ import org.apache.maven.model.ModelBuildingRequest; import org.apache.maven.model.ModelBuildingResult; import org.apache.maven.model.Profile; -import org.apache.maven.model.io.ModelReader; +import org.apache.maven.model.UrlModelSource; import org.apache.maven.model.resolution.ModelResolver; import org.apache.maven.project.artifact.ProjectArtifact; import org.apache.maven.repository.RepositorySystem; @@ -61,9 +60,6 @@ private ModelBuilder modelBuilder; @Requirement - private ModelReader modelReader; - - @Requirement private LifecycleExecutor lifecycle; @Requirement @@ -72,7 +68,7 @@ @Requirement private ResolutionErrorHandler resolutionErrorHandler; - private MavenProject superProject; + private MavenProject standaloneProject; // ---------------------------------------------------------------------- // MavenProjectBuilder Implementation @@ -87,19 +83,7 @@ private MavenProject build( File pomFile, boolean localProject, ProjectBuildingRequest configuration ) throws ProjectBuildingException { - ModelResolver resolver = - new RepositoryModelResolver( repositorySystem, resolutionErrorHandler, configuration.getLocalRepository(), - configuration.getRemoteRepositories() ); - - ModelBuildingRequest request = new DefaultModelBuildingRequest(); - request.setLenientValidation( configuration.istLenientValidation() ); - request.setProcessPlugins( configuration.isProcessPlugins() ); - request.setProfiles( configuration.getProfiles() ); - request.setActiveProfileIds( configuration.getActiveProfileIds() ); - request.setInactiveProfileIds( configuration.getInactiveProfileIds() ); - request.setExecutionProperties( configuration.getExecutionProperties() ); - request.setBuildStartTime( configuration.getBuildStartTime() ); - request.setModelResolver( resolver ); + ModelBuildingRequest request = getModelBuildingRequest( configuration ); ModelBuildingResult result; try @@ -153,6 +137,25 @@ return project; } + private ModelBuildingRequest getModelBuildingRequest( ProjectBuildingRequest configuration ) + { + ModelResolver resolver = + new RepositoryModelResolver( repositorySystem, resolutionErrorHandler, configuration.getLocalRepository(), + configuration.getRemoteRepositories() ); + + ModelBuildingRequest request = new DefaultModelBuildingRequest(); + request.setLenientValidation( configuration.istLenientValidation() ); + request.setProcessPlugins( configuration.isProcessPlugins() ); + request.setProfiles( configuration.getProfiles() ); + request.setActiveProfileIds( configuration.getActiveProfileIds() ); + request.setInactiveProfileIds( configuration.getInactiveProfileIds() ); + request.setExecutionProperties( configuration.getExecutionProperties() ); + request.setBuildStartTime( configuration.getBuildStartTime() ); + request.setModelResolver( resolver ); + + return request; + } + public MavenProject build( Artifact artifact, ProjectBuildingRequest configuration ) throws ProjectBuildingException { @@ -189,25 +192,35 @@ public MavenProject buildStandaloneSuperProject( ProjectBuildingRequest config ) throws ProjectBuildingException { - if ( superProject != null ) + if ( standaloneProject != null ) { - return superProject; + return standaloneProject; } - Model superModel = getSuperModel(); + ModelBuildingRequest request = getModelBuildingRequest( config ); + + ModelBuildingResult result; + try + { + result = modelBuilder.build( new UrlModelSource( getClass().getResource( "standalone.xml" ) ), request ); + } + catch ( ModelBuildingException e ) + { + throw new ProjectBuildingException( "[standalone]", "Failed to build standalone project", e ); + } try { - superProject = new MavenProject( superModel, repositorySystem, this, config ); + standaloneProject = new MavenProject( result.getEffectiveModel(), repositorySystem, this, config ); } catch ( InvalidRepositoryException e ) { // Not going to happen. } - superProject.setExecutionRoot( true ); + standaloneProject.setExecutionRoot( true ); - return superProject; + return standaloneProject; } public MavenProjectBuildingResult buildProjectWithDependencies( File pomFile, ProjectBuildingRequest request ) @@ -282,32 +295,4 @@ return ArtifactUtils.versionlessKey( gid, aid ); } - // Super Model Handling - - private static final String MAVEN_MODEL_VERSION = "4.0.0"; - - private Model superModel; - - protected Model getSuperModel() - { - if ( superModel != null ) - { - return superModel; - } - - String superPomResource = "/org/apache/maven/project/pom-" + MAVEN_MODEL_VERSION + ".xml"; - - try - { - superModel = modelReader.read( getClass().getResourceAsStream( superPomResource ), null ); - } - catch ( IOException e ) - { - throw new IllegalStateException( "The super POM is damaged" - + ", please verify the integrity of your Maven installation", e ); - } - - return superModel; - } - } \ No newline at end of file Propchange: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/ ------------------------------------------------------------------------------ bugtraq:label = Enter issue ID: Propchange: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/ ------------------------------------------------------------------------------ bugtraq:message = Issue id: %BUGID% Propchange: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/ ------------------------------------------------------------------------------ bugtraq:number = false Propchange: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/ ------------------------------------------------------------------------------ bugtraq:url = http://jira.codehaus.org/browse/%BUGID% Added: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/standalone.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/standalone.xml?rev=786853&view=auto ============================================================================== --- maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/standalone.xml (added) +++ maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/standalone.xml Sat Jun 20 16:40:21 2009 @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<project> + <modelVersion>4.0.0</modelVersion> + + <groupId>org.apache.maven</groupId> + <artifactId>standalone-pom</artifactId> + <version>1</version> + <packaging>pom</packaging> +</project> Propchange: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/standalone.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/components/trunk/maven-core/src/main/resources/org/apache/maven/project/standalone.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: maven/components/trunk/maven-model-builder/src/main/resources/org/apache/maven/project/pom-4.0.0.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/resources/org/apache/maven/project/pom-4.0.0.xml?rev=786853&r1=786852&r2=786853&view=diff ============================================================================== --- maven/components/trunk/maven-model-builder/src/main/resources/org/apache/maven/project/pom-4.0.0.xml (original) +++ maven/components/trunk/maven-model-builder/src/main/resources/org/apache/maven/project/pom-4.0.0.xml Sat Jun 20 16:40:21 2009 @@ -1,3 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> + <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -20,10 +22,7 @@ <!-- START SNIPPET: superpom --> <project> <modelVersion>4.0.0</modelVersion> - <groupId>org.apache.maven</groupId> - <artifactId>super-pom</artifactId> - <version>3.0-SNAPSHOT</version> - <name>Maven Default Project</name> + <repositories> <repository> <id>central</id> @@ -155,4 +154,4 @@ <outputDirectory>${project.build.directory}/site</outputDirectory> </reporting> </project> - <!-- END SNIPPET: superpom --> +<!-- END SNIPPET: superpom -->