You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/09/02 02:56:31 UTC

svn commit: r571910 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/ maven-core/src/main/java/org/apache/maven/extension/ maven-project/src/main/java/org/apache/maven/project/ maven-project/src/main/java/org/apache/maven/project...

Author: jvanzyl
Date: Sat Sep  1 17:56:30 2007
New Revision: 571910

URL: http://svn.apache.org/viewvc?rev=571910&view=rev
Log:
o as the profile has been removed from the super pom, we do not need to inject or process any profiles
  related to it. this great simplifies a lot of code
o caching the super project in the default project builder as it's never going to change now as no profiles
  are inject so it will only have to be constructed once an instance.

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
    maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=571910&r1=571909&r2=571910&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Sat Sep  1 17:56:30 2007
@@ -127,9 +127,6 @@
 
         MavenExecutionResult result = new DefaultMavenExecutionResult();
 
-        // old doExecute
-        
-
         getLogger().info( "Scanning for projects..." );
 
         boolean foundProjects = true;
@@ -174,6 +171,9 @@
             return result;
         }
 
+        // Display the order of the projects
+        //CLI:move
+
         if ( reactorManager.hasMultipleProjects() )
         {
             getLogger().info( "Reactor build order: " );
@@ -313,9 +313,7 @@
         MavenProject superProject;
         try
         {
-            superProject = projectBuilder.buildStandaloneSuperProject( request.getLocalRepository(),
-                                                                       new DefaultProfileManager( container,
-                                                                                                  request.getProperties() ) );
+            superProject = projectBuilder.buildStandaloneSuperProject();
 
         }
         catch ( ProjectBuildingException e )

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java?rev=571910&r1=571909&r2=571910&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java Sat Sep  1 17:56:30 2007
@@ -115,6 +115,7 @@
             Map inheritedInterpolationValues = new HashMap();
 
             List inheritedRemoteRepositories = new ArrayList();
+
             inheritedRemoteRepositories.addAll( originalRemoteRepositories );
 
             for ( ModelLineageIterator lineageIterator = lineage.reversedLineageIterator(); lineageIterator.hasNext(); )
@@ -345,9 +346,10 @@
         throws ExtensionScanningException
     {
         MavenProject superProject;
+
         try
         {
-            superProject = projectBuilder.buildStandaloneSuperProject( localRepository, globalProfileManager );
+            superProject = projectBuilder.buildStandaloneSuperProject();
         }
         catch ( ProjectBuildingException e )
         {
@@ -355,6 +357,8 @@
                                                   "Error building super-POM for retrieving the default remote repository list: "
                                                       + e.getMessage(), e );
         }
+
+        System.out.println( "superProject = " + superProject );
 
         return superProject.getRemoteArtifactRepositories();
     }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=571910&r1=571909&r2=571910&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Sat Sep  1 17:56:30 2007
@@ -247,19 +247,16 @@
         return buildFromRepository( artifact, remoteArtifactRepositories, localRepository, true );
     }
 
-    // what is using this externally? jvz.
-    public MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository )
-        throws ProjectBuildingException
-    {
-        //TODO mkleint - use the (Container, Properties) constructor to make system properties embeddable
-        ProfileManager profileManager = new DefaultProfileManager( container );
-        return buildStandaloneSuperProject( localRepository, profileManager );
-    }
+    private MavenProject superProject;
 
-    public MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository,
-                                                     ProfileManager profileManager )
+    public MavenProject buildStandaloneSuperProject()
         throws ProjectBuildingException
     {
+        if ( this.superProject != null )
+        {
+            return this.superProject;
+        }
+
         Model superModel = getSuperModel();
 
         superModel.setGroupId( STANDALONE_SUPERPOM_GROUPID );
@@ -268,54 +265,23 @@
 
         superModel.setVersion( STANDALONE_SUPERPOM_VERSION );
 
-        MavenProject project = new MavenProject( superModel );
-
-        ProjectBuildContext projectContext = ProjectBuildContext.getProjectBuildContext( buildContextManager, true );
+        superProject = new MavenProject( superModel );
 
-        projectContext.setCurrentProject( project );
-        projectContext.store( buildContextManager );
-
-        String projectId = safeVersionlessKey( STANDALONE_SUPERPOM_GROUPID, STANDALONE_SUPERPOM_ARTIFACTID );
-
-        project.setManagedVersionMap( createManagedVersionMap( projectId, superModel.getDependencyManagement(), null ) );
-
-        List activeProfiles = profileAdvisor.applyActivatedProfiles( superModel, null, profileManager.getExplicitlyActivatedIds(), profileManager.getExplicitlyDeactivatedIds() );
-        List activeExternalProfiles = profileAdvisor.applyActivatedExternalProfiles( superModel, null, profileManager );
-
-        LinkedHashSet profiles = new LinkedHashSet();
-
-        if ( ( activeProfiles != null ) && !activeProfiles.isEmpty() )
+        try
         {
-            profiles.addAll( activeProfiles );
+            superProject.setRemoteArtifactRepositories( mavenTools.buildArtifactRepositories( superModel.getRepositories() ) );
         }
-
-        if ( ( activeExternalProfiles != null ) && !activeExternalProfiles.isEmpty() )
+        catch ( InvalidRepositoryException e )
         {
-            profiles.addAll( activeExternalProfiles );
+            // This will never happen with the repositories in the SuperPOM
         }
 
-        project.setActiveProfiles( new ArrayList( profiles ) );
+        superProject.setOriginalModel( superModel );
 
-        project.setOriginalModel( superModel );
+        superProject.setExecutionRoot( true );
 
-        try
-        {
-            project = processProjectLogic( "<Super-POM>", project, null, null, STRICT_MODEL_PARSING );
-
-            project.setExecutionRoot( true );
-
-            return project;
-        }
-        catch ( ModelInterpolationException e )
-        {
-            throw new ProjectBuildingException( projectId, e.getMessage(), e );
-        }
-        catch ( InvalidRepositoryException e )
-        {
-            throw new ProjectBuildingException( projectId, e.getMessage(), e );
-        }
+        return superProject;
     }
-
 
     public MavenProjectBuildingResult buildWithDependencies( File projectDescriptor,
                                                              ArtifactRepository localRepository,

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java?rev=571910&r1=571909&r2=571910&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProjectBuilder.java Sat Sep  1 17:56:30 2007
@@ -110,12 +110,6 @@
                                       ArtifactRepository localRepository, boolean allowStubModel )
         throws ProjectBuildingException;
 
-    MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository )
-        throws ProjectBuildingException;
-    
-    /**
-     * need to pass a profilemanager with correct context (eg. with execution properties)
-     */
-    MavenProject buildStandaloneSuperProject( ArtifactRepository localRepository, ProfileManager profileManager )
+    MavenProject buildStandaloneSuperProject()
         throws ProjectBuildingException;
 }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=571910&r1=571909&r2=571910&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Sat Sep  1 17:56:30 2007
@@ -263,7 +263,7 @@
         {
             try
             {
-                superProject = mavenProjectBuilder.buildStandaloneSuperProject( null );
+                superProject = mavenProjectBuilder.buildStandaloneSuperProject();
             }
             catch ( ProjectBuildingException e )
             {

Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java?rev=571910&r1=571909&r2=571910&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java Sat Sep  1 17:56:30 2007
@@ -84,72 +84,6 @@
         }
     }
 
-    public void testShouldInjectOneProfileToStandaloneSuperPom()
-        throws Exception
-    {
-        ProfileManager pm = new DefaultProfileManager( getContainer(), new Properties() );
-
-        String profileId = "test-profile";
-        String key = "test";
-        String value = "value";
-
-        Profile profile = new Profile();
-        profile.setId( profileId );
-        profile.addProperty( key, value );
-
-        pm.addProfile( profile );
-        pm.explicitlyActivate( profileId );
-
-        MavenProject project = projectBuilder.buildStandaloneSuperProject( getLocalRepository(), pm );
-
-        assertEquals( value, project.getProperties().getProperty( key ) );
-    }
-
-    public void testShouldInjectProfileWithRepositoryToStandaloneSuperPom()
-        throws Exception
-    {
-        ProfileManager pm = new DefaultProfileManager( getContainer(), new Properties() );
-
-        String profileId = "test-profile";
-        String repoId = "test-repo";
-
-        Profile profile = new Profile();
-        profile.setId( profileId );
-
-        Repository repo = new Repository();
-        repo.setId( repoId );
-        repo.setUrl( "http://www.google.com" );
-
-        profile.addRepository( repo );
-
-        pm.addProfile( profile );
-        pm.explicitlyActivate( profileId );
-
-        MavenProject project = projectBuilder.buildStandaloneSuperProject( getLocalRepository(), pm );
-
-        List repositories = project.getRepositories();
-
-        assertNotNull( repositories );
-
-        Repository result = null;
-
-        for ( Iterator it = repositories.iterator(); it.hasNext(); )
-        {
-            Repository candidate = (Repository) it.next();
-
-            if ( repoId.equals( candidate.getId() ) )
-            {
-                result = candidate;
-                break;
-            }
-        }
-
-        assertNotNull( "Profile-injected repository not found in super-POM.", result );
-
-        assertEquals( "Profile-injected repository was not first in repo list within super-POM", repoId,
-                      ( (Repository) repositories.get( 0 ) ).getId() );
-    }
-
     /**
      * Check that we can build ok from the middle pom of a (parent,child,grandchild) heirarchy
      * @throws Exception