Index: maven-core/src/main/java/org/apache/maven/DefaultMaven.java =================================================================== --- maven-core/src/main/java/org/apache/maven/DefaultMaven.java (revision 398684) +++ maven-core/src/main/java/org/apache/maven/DefaultMaven.java (working copy) @@ -278,7 +278,7 @@ List projects = getProjects( request, globalProfileManager ); if ( projects.isEmpty() ) { - projects.add( getSuperProject( request ) ); + projects.add( getSuperProject( request, globalProfileManager ) ); foundProjects = false; } @@ -324,13 +324,13 @@ return rm; } - private MavenProject getSuperProject( MavenExecutionRequest request ) + private MavenProject getSuperProject( MavenExecutionRequest request, ProfileManager globalProfileManager ) throws MavenExecutionException { MavenProject superProject; try { - superProject = projectBuilder.buildStandaloneSuperProject( request.getLocalRepository() ); + superProject = projectBuilder.buildStandaloneSuperProject( request.getLocalRepository(), globalProfileManager ); } catch ( ProjectBuildingException e ) Index: maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java =================================================================== --- maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (revision 398684) +++ maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (working copy) @@ -86,6 +86,34 @@ ArtifactRepository localRepository, boolean allowStubModel ) throws ProjectBuildingException; + /** + * Builds a MavenProject entirely from Standalone SuperProject. + * + * Only useful when you have no project to work with. + * + * NOTE: This method does not take in account the users settings and profiles. + * + * @param localRepository the local repository + * @return the project representing the SuperProject. + * @throws ProjectBuildingException + * @deprecated This method does not take in account the Users Settings and Profiles. + * Use {@link #buildStandaloneSuperProject(ArtifactRepository, ProfileManager)} instead. + */ MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository ) + throws ProjectBuildingException; + + /** + * Builds a MavenProject entirely from a Standalone SuperProject. + * + * Useful when you have no project to work with. + * (Such as the archetype:create plugin) + * + * @param localRepository the local repository + * @param globalProfileManager the settings and profiles to merge with the superproject. + * @return the project representing the SuperProject and Profiles. + * @throws ProjectBuildingException + * @since 2.0.5 + */ + MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository, ProfileManager globalProfileManager ) throws ProjectBuildingException; } Index: maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java =================================================================== --- maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (revision 398684) +++ maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (working copy) @@ -234,11 +234,23 @@ { return buildFromRepository( artifact, remoteArtifactRepositories, localRepository, true ); } - - // what is using this externally? jvz. + + /** + * {@inheritDoc} + */ public MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository ) throws ProjectBuildingException { + return buildStandaloneSuperProject( localRepository, null ); + } + + /** + * {@inheritDoc} + * Used by DefaultMaven, MavenMetadaSource and DescribeMojo. + */ + public MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository, ProfileManager globalProfileManager ) + throws ProjectBuildingException + { Model superModel = getSuperModel(); superModel.setGroupId( STANDALONE_SUPERPOM_GROUPID ); @@ -246,9 +258,13 @@ superModel.setArtifactId( STANDALONE_SUPERPOM_ARTIFACTID ); superModel.setVersion( STANDALONE_SUPERPOM_VERSION ); + + ProfileManager profileManager = globalProfileManager; + if ( profileManager == null ) + { + profileManager = new DefaultProfileManager( container ); + } - ProfileManager profileManager = new DefaultProfileManager( container ); - List activeProfiles; profileManager.addProfiles( superModel.getProfiles() ); Index: maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java =================================================================== --- maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (revision 398684) +++ maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (working copy) @@ -248,7 +248,7 @@ { try { - superProject = mavenProjectBuilder.buildStandaloneSuperProject( null ); + superProject = mavenProjectBuilder.buildStandaloneSuperProject( null, null ); } catch ( ProjectBuildingException e ) {