Index: maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java =================================================================== --- maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java (revision 502181) +++ maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java (working copy) @@ -115,7 +115,7 @@ ArtifactRepositoryPolicy releases = buildArtifactRepositoryPolicy( repository.getReleases() ); artifactRepository = repositoryFactory.createArtifactRepository( repository.getId(), repository.getUrl(), - repositoryLayout, snapshots, releases ); + repositoryLayout, snapshots, releases, repository.isUniqueVersion() ); } finally { @@ -227,6 +227,13 @@ return r; } + protected RemoteRepository createAntDeploymentRepository( org.apache.maven.model.DeploymentRepository pomRepository ) + { + RemoteRepository r = createAntRemoteRepositoryBase(pomRepository); + r.setUniqueVersion( pomRepository.isUniqueVersion()); + return r; + } + protected RemoteRepository createAntRemoteRepositoryBase( org.apache.maven.model.RepositoryBase pomRepository ) { // TODO: actually, we need to not funnel this through the ant repository - we should pump settings into wagon Index: maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java =================================================================== --- maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java (revision 502467) +++ maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java (working copy) @@ -65,12 +65,12 @@ { if ( distributionManagement.getSnapshotRepository() != null ) { - remoteSnapshotRepository = createAntRemoteRepositoryBase( distributionManagement + remoteSnapshotRepository = createAntDeploymentRepository( distributionManagement .getSnapshotRepository() ); } if ( distributionManagement.getRepository() != null ) { - remoteRepository = createAntRemoteRepositoryBase( distributionManagement.getRepository() ); + remoteRepository = createAntDeploymentRepository( distributionManagement.getRepository() ); } } } Index: maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RemoteRepository.java =================================================================== --- maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RemoteRepository.java (revision 502454) +++ maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RemoteRepository.java (working copy) @@ -35,6 +35,8 @@ private RepositoryPolicy releases; + private boolean uniqueVersion; + public String getUrl() { return ( (RemoteRepository) getInstance() ).url; @@ -84,5 +86,14 @@ { this.releases = releases; } - + + public void setUniqueVersion(boolean uniqueVersion) + { + this.uniqueVersion = uniqueVersion; + } + + public boolean isUniqueVersion() + { + return this.uniqueVersion; + } } Index: maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java =================================================================== --- maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java (revision 502181) +++ maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java (working copy) @@ -51,7 +51,7 @@ */ public DefaultArtifactRepository( String id, String url, ArtifactRepositoryLayout layout ) { - this( id, url, layout, null, null ); + this( id, url, layout, null, null, true ); } /** @@ -79,8 +79,13 @@ * @param releases the policies to use for releases */ public DefaultArtifactRepository( String id, String url, ArtifactRepositoryLayout layout, - ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases ) + ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases ) { + this(id, url, layout, snapshots, releases, true); + } + public DefaultArtifactRepository( String id, String url, ArtifactRepositoryLayout layout, + ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases, boolean uniqueVersion ) + { super( id, url ); this.layout = layout; @@ -100,6 +105,7 @@ } this.releases = releases; + this.uniqueVersion = uniqueVersion; } public String pathOf( Artifact artifact ) @@ -151,4 +157,9 @@ { this.blacklisted = blacklisted; } + + public void setUniqueVersion( boolean uniqueVersion ) + { + this.uniqueVersion = uniqueVersion; + } } Index: maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java =================================================================== --- maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java (revision 502181) +++ maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java (working copy) @@ -40,11 +40,18 @@ { return new DefaultArtifactRepository( id, url, repositoryLayout, uniqueVersion ); } - + public ArtifactRepository createArtifactRepository( String id, String url, - ArtifactRepositoryLayout repositoryLayout, - ArtifactRepositoryPolicy snapshots, - ArtifactRepositoryPolicy releases ) + ArtifactRepositoryLayout repositoryLayout, + ArtifactRepositoryPolicy snapshots, + ArtifactRepositoryPolicy releases ) + { + return createArtifactRepository(id, url, repositoryLayout, snapshots, releases, true ); + } + + public ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout, + ArtifactRepositoryPolicy snapshots, + ArtifactRepositoryPolicy releases, boolean uniqueVersion ) { boolean blacklisted = false; if ( artifactRepositories.containsKey( id ) ) @@ -80,11 +87,11 @@ } DefaultArtifactRepository repository = new DefaultArtifactRepository( id, url, repositoryLayout, snapshots, - releases ); + releases, uniqueVersion ); repository.setBlacklisted( blacklisted ); artifactRepositories.put( id, repository ); - + return repository; } Index: maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java =================================================================== --- maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java (revision 502181) +++ maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java (working copy) @@ -29,6 +29,10 @@ boolean uniqueVersion ); ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout, + ArtifactRepositoryPolicy snapshots, + ArtifactRepositoryPolicy releases, boolean uniqueVersion ); + + ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases );