Author: jvanzyl
Date: Thu Oct  4 21:03:10 2007
New Revision: 582071

URL: http://svn.apache.org/viewvc?rev=582071&view=rev
Log:
o adjusting the request to hold the upfront repositories that can be taken out 
of profiles

Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
    
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java?rev=582071&r1=582070&r2=582071&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
 Thu Oct  4 21:03:10 2007
@@ -108,6 +108,8 @@
 
     private ProfileManager profileManager;
 
+    private List remoteRepositories;
+
     /**
      * Suppress SNAPSHOT updates. 
      * @issue MNG-2681
@@ -566,5 +568,22 @@
         this.globalSettingsFile = globalSettingsFile;
 
         return this;
+    }
+
+    public MavenExecutionRequest addRemoteRepository( ArtifactRepository 
repository )
+    {
+        if ( remoteRepositories == null )
+        {
+            remoteRepositories = new ArrayList();
+        }
+
+        remoteRepositories.add( repository ); 
+
+        return this;
+    }
+
+    public List getRemoteRepositories()
+    {
+        return remoteRepositories;
     }
 }

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java?rev=582071&r1=582070&r2=582071&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
 Thu Oct  4 21:03:10 2007
@@ -195,4 +195,7 @@
 
     File getGlobalSettingsFile();
     MavenExecutionRequest setGlobalSettingsFile( File globalSettingsFile );
+
+    MavenExecutionRequest addRemoteRepository( ArtifactRepository repository );
+    List getRemoteRepositories();
 }

Modified: 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java?rev=582071&r1=582070&r2=582071&view=diff
==============================================================================
--- 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
 (original)
+++ 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
 Thu Oct  4 21:03:10 2007
@@ -30,6 +30,7 @@
 import org.apache.maven.embedder.MavenEmbedderException;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.model.Profile;
+import org.apache.maven.model.Repository;
 import org.apache.maven.monitor.event.DefaultEventMonitor;
 import org.apache.maven.plugin.Mojo;
 import org.apache.maven.profiles.DefaultProfileManager;
@@ -61,7 +62,7 @@
 
 /**
  * Things that we deal with in this populator to ensure that we have a valid 
[EMAIL PROTECTED]
- *
+ * <p/>
  * - POM
  * - Settings
  * - Local Repository
@@ -110,14 +111,85 @@
 
         profileManager( request, configuration );
 
+        processSettings( request, configuration );
+
         return request;
     }
 
+    private void processSettings( MavenExecutionRequest request,
+                                  Configuration configuration )
+    {
+        ProfileManager profileManager = request.getProfileManager();
+
+        Settings settings = request.getSettings();
+
+        List settingsProfiles = settings.getProfiles();
+
+        if ( settingsProfiles != null && !settingsProfiles.isEmpty() )
+        {
+            List settingsActiveProfileIds = settings.getActiveProfiles();
+
+            profileManager.explicitlyActivate( settingsActiveProfileIds );
+
+            for ( Iterator it = settings.getProfiles().iterator(); 
it.hasNext(); )
+            {
+                org.apache.maven.settings.Profile rawProfile = 
(org.apache.maven.settings.Profile) it.next();
+
+                Profile profile = SettingsUtils.convertFromSettingsProfile( 
rawProfile );
+
+                profileManager.addProfile( profile );
+
+                // We need to convert profile repositories to artifact 
repositories
+
+                for ( Iterator j = profile.getRepositories().iterator(); 
j.hasNext(); )
+                {
+                    Repository r = (Repository) j.next();
+
+                    ArtifactRepositoryPolicy releases = new 
ArtifactRepositoryPolicy();
+
+                    if ( r.getReleases() != null )
+                    {
+                        releases.setChecksumPolicy( 
r.getReleases().getChecksumPolicy() );
+
+                        releases.setUpdatePolicy( 
r.getReleases().getUpdatePolicy() );
+                    }
+                    else
+                    {
+                        releases.setChecksumPolicy( 
ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY );
+
+                        releases.setUpdatePolicy( 
ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
+                    }
+
+                    ArtifactRepositoryPolicy snapshots = new 
ArtifactRepositoryPolicy();
+
+                    if ( r.getSnapshots() != null )
+                    {
+                        snapshots.setChecksumPolicy( 
r.getSnapshots().getChecksumPolicy() );
+
+                        snapshots.setUpdatePolicy( 
r.getSnapshots().getUpdatePolicy() );
+                    }
+                    else
+                    {
+                        snapshots.setChecksumPolicy( 
ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY );
+
+                        snapshots.setUpdatePolicy( 
ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
+                    }
+
+                    ArtifactRepository ar = 
artifactRepositoryFactory.createArtifactRepository( r.getId(), r.getUrl(),
+                        defaultArtifactRepositoryLayout, snapshots, releases );
+
+                    request.addRemoteRepository( ar );
+                }
+            }
+        }
+    }
+
     // ------------------------------------------------------------------------
     // POM
     // ------------------------------------------------------------------------
 
-    private void pom( MavenExecutionRequest request, Configuration 
configuration )
+    private void pom( MavenExecutionRequest request,
+                      Configuration configuration )
     {
         // 
------------------------------------------------------------------------
         // POM
@@ -138,7 +210,7 @@
 
             if ( !pom.exists() )
             {
-                pom = new File( request.getBaseDirectory(), Maven.POMv4 );     
                           
+                pom = new File( request.getBaseDirectory(), Maven.POMv4 );
             }
 
             request.setPomFile( pom.getAbsolutePath() );
@@ -149,7 +221,8 @@
     // Settings
     // ------------------------------------------------------------------------
 
-    private void settings( MavenExecutionRequest request, Configuration 
configuration )
+    private void settings( MavenExecutionRequest request,
+                           Configuration configuration )
     {
         // 
------------------------------------------------------------------------
         // Settings
@@ -188,7 +261,8 @@
     // Local Repository
     // ------------------------------------------------------------------------
 
-    private void localRepository( MavenExecutionRequest request, Configuration 
configuration )
+    private void localRepository( MavenExecutionRequest request,
+                                  Configuration configuration )
         throws MavenEmbedderException
     {
         // 
------------------------------------------------------------------------
@@ -206,7 +280,8 @@
     }
 
 
-    public ArtifactRepository createLocalRepository( Settings settings, 
Configuration configuration )
+    public ArtifactRepository createLocalRepository( Settings settings,
+                                                     Configuration 
configuration )
         throws MavenEmbedderException
     {
         String localRepositoryPath = null;
@@ -314,7 +389,8 @@
     // Snapshot Policy 
     // ------------------------------------------------------------------------
 
-    private void snapshotPolicy( MavenExecutionRequest request, Configuration 
configuration )
+    private void snapshotPolicy( MavenExecutionRequest request,
+                                 Configuration configuration )
     {
         // 
------------------------------------------------------------------------
         // Snapshot Repository Update Policies
@@ -347,7 +423,8 @@
     // Checksum Policy
     // ------------------------------------------------------------------------
 
-    private void checksumPolicy( MavenExecutionRequest request, Configuration 
configuration )
+    private void checksumPolicy( MavenExecutionRequest request,
+                                 Configuration configuration )
     {
         // 
------------------------------------------------------------------------
         // Repository Checksum Policies
@@ -362,7 +439,8 @@
     // Artifact Transfer Mechanism
     // ------------------------------------------------------------------------
 
-    private void artifactTransferMechanism( MavenExecutionRequest request, 
Configuration configuration )
+    private void artifactTransferMechanism( MavenExecutionRequest request,
+                                            Configuration configuration )
         throws MavenEmbedderException
     {
         // 
------------------------------------------------------------------------
@@ -477,7 +555,8 @@
     // Eventing
     // ------------------------------------------------------------------------
 
-    private void eventing( MavenExecutionRequest request, Configuration 
configuration )
+    private void eventing( MavenExecutionRequest request,
+                           Configuration configuration )
     {
         // 
------------------------------------------------------------------------
         // Event Monitor/Logging
@@ -499,7 +578,8 @@
     // Profile Manager 
     // ------------------------------------------------------------------------
 
-    private void profileManager( MavenExecutionRequest request, Configuration 
configuration )
+    private void profileManager( MavenExecutionRequest request,
+                                 Configuration configuration )
     {
         // 
------------------------------------------------------------------------
         // Profile Manager
@@ -509,10 +589,6 @@
 
         ProfileManager globalProfileManager = new DefaultProfileManager( 
container );
 
-        loadSettingsProfiles(
-            globalProfileManager,
-            request.getSettings() );
-
         globalProfileManager.explicitlyActivate( request.getActiveProfiles() );
 
         globalProfileManager.explicitlyDeactivate( 
request.getInactiveProfiles() );
@@ -528,27 +604,5 @@
         throws ContextException
     {
         container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY 
);
-    }
-
-    public void loadSettingsProfiles( ProfileManager profileManager,
-                                      Settings settings )
-    {
-        List settingsProfiles = settings.getProfiles();
-
-        if ( settingsProfiles != null && !settingsProfiles.isEmpty() )
-        {
-            List settingsActiveProfileIds = settings.getActiveProfiles();
-
-            profileManager.explicitlyActivate( settingsActiveProfileIds );
-
-            for ( Iterator it = settings.getProfiles().iterator(); 
it.hasNext(); )
-            {
-                org.apache.maven.settings.Profile rawProfile = 
(org.apache.maven.settings.Profile) it.next();
-
-                Profile profile = SettingsUtils.convertFromSettingsProfile( 
rawProfile );
-
-                profileManager.addProfile( profile );
-            }
-        }
     }
 }


Reply via email to