Author: jvanzyl
Date: Mon Nov  5 23:54:42 2007
New Revision: 592320

URL: http://svn.apache.org/viewvc?rev=592320&view=rev
Log:
o repositories specified in distribution management sections don't have 
policies set but many functions expect them so populate one if necessary to 
prevent the rest of the system from barfing
o allow the specification of a release policy to work around a repository not 
having one to start, which distribution management repositories don't have. it 
may be that eventually there are some policies around deployment but there are 
none currently.

Modified:
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java

Modified: 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java?rev=592320&r1=592319&r2=592320&view=diff
==============================================================================
--- 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
 (original)
+++ 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
 Mon Nov  5 23:54:42 2007
@@ -25,6 +25,8 @@
 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import 
org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException;
 import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
 import org.apache.maven.artifact.transform.ArtifactTransformationManager;
@@ -100,6 +102,7 @@
                 for ( Iterator i = artifact.getMetadataList().iterator(); 
i.hasNext(); )
                 {
                     ArtifactMetadata metadata = (ArtifactMetadata) i.next();
+                    
                     repositoryMetadataManager.deploy( metadata, 
localRepository, deploymentRepository );
                 }
             }
@@ -125,6 +128,19 @@
     {
         try
         {
+            // We need to guard against repsositories in distribution 
management sections that
+            // don't have any default policies set so all functions that 
expect policies
+            // present don't fail.
+
+            if ( remoteRepository.getReleases() == null )
+            {
+                ArtifactRepositoryPolicy releasesPolicy = new 
ArtifactRepositoryPolicy();
+
+                releasesPolicy.setEnabled( true );
+
+                ((DefaultArtifactRepository )remoteRepository).setReleases( 
releasesPolicy );
+            }
+
             ArtifactVersion artifactVersion = new DefaultArtifactVersion( 
artifact.getVersion() );
 
             List versions = metadataSource.retrieveAvailableVersions( 
artifact, localRepository,

Modified: 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=592320&r1=592319&r2=592320&view=diff
==============================================================================
--- 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
 (original)
+++ 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
 Mon Nov  5 23:54:42 2007
@@ -139,6 +139,11 @@
         return snapshots;
     }
 
+    public void setReleases( ArtifactRepositoryPolicy releases )
+    {
+        this.releases = releases;
+    }
+
     public ArtifactRepositoryPolicy getReleases()
     {
         return releases;


Reply via email to