Author: brett
Date: Tue Oct  4 01:43:36 2005
New Revision: 293570

URL: http://svn.apache.org/viewcvs?rev=293570&view=rev
Log:
PR: MNG-922
allow the disablement of timestamping snapshots, reusing the same file in the 
remote repo

Modified:
    
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
    
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
    
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java
    maven/components/trunk/maven-model/maven.mdo
    
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/ModelUtils.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java

Modified: 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
 (original)
+++ 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java
 Tue Oct  4 01:43:36 2005
@@ -38,8 +38,10 @@
 
     private ArtifactRepositoryPolicy releases;
 
+    private boolean uniqueVersion;
+
     /**
-     * Create a local repository or a deployment repository.
+     * Create a local repository or a test repository.
      *
      * @param id the unique identifier of the repository
      * @param url the URL of the repository
@@ -51,6 +53,21 @@
     }
 
     /**
+     * Create a remote deployment repository.
+     *
+     * @param id the unique identifier of the repository
+     * @param url the URL of the repository
+     * @param layout the layout of the repository
+     * @param uniqueVersion whether to assign each snapshot a unique version
+     */
+    public DefaultArtifactRepository( String id, String url, 
ArtifactRepositoryLayout layout, boolean uniqueVersion )
+    {
+        super( id, url );
+        this.layout = layout;
+        this.uniqueVersion = uniqueVersion;
+    }
+
+    /**
      * Create a remote download repository.
      *
      * @param id the unique identifier of the repository
@@ -116,5 +133,10 @@
     public String getKey()
     {
         return getId();
+    }
+
+    public boolean isUniqueVersion()
+    {
+        return uniqueVersion;
     }
 }

Modified: 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
 (original)
+++ 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
 Tue Oct  4 01:43:36 2005
@@ -29,10 +29,10 @@
 
     private String globalChecksumPolicy;
 
-    public ArtifactRepository createArtifactRepository( String id, String url,
-                                                        
ArtifactRepositoryLayout repositoryLayout )
+    public ArtifactRepository createDeploymentArtifactRepository( String id, 
String url,
+                                                        
ArtifactRepositoryLayout repositoryLayout, boolean uniqueVersion )
     {
-        return new DefaultArtifactRepository( id, url, repositoryLayout );
+        return new DefaultArtifactRepository( id, url, repositoryLayout, 
uniqueVersion );
     }
 
     public ArtifactRepository createArtifactRepository( String id, String url,

Modified: 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
 (original)
+++ 
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
 Tue Oct  4 01:43:36 2005
@@ -77,10 +77,15 @@
     {
         if ( artifact.isSnapshot() )
         {
+            Snapshot snapshot = new Snapshot();
+            if ( remoteRepository.isUniqueVersion() )
+            {
+                snapshot.setTimestamp( getDeploymentTimestamp() );
+            }
+
+            // we update the build number anyway so that it doesn't get lost. 
It requires the timestamp to take effect
             int buildNumber = resolveLatestSnapshotBuildNumber( artifact, 
localRepository, remoteRepository );
 
-            Snapshot snapshot = new Snapshot();
-            snapshot.setTimestamp( getDeploymentTimestamp() );
             snapshot.setBuildNumber( buildNumber + 1 );
 
             RepositoryMetadata metadata = new 
SnapshotArtifactRepositoryMetadata( artifact, snapshot );

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
 Tue Oct  4 01:43:36 2005
@@ -49,4 +49,6 @@
     ArtifactRepositoryLayout getLayout();
 
     String getKey();
+
+    boolean isUniqueVersion();
 }

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java
 Tue Oct  4 01:43:36 2005
@@ -25,7 +25,8 @@
 {
     String ROLE = ArtifactRepositoryFactory.class.getName();
 
-    ArtifactRepository createArtifactRepository( String id, String url, 
ArtifactRepositoryLayout repositoryLayout );
+    ArtifactRepository createDeploymentArtifactRepository( String id, String 
url, ArtifactRepositoryLayout layout,
+                                                           boolean 
uniqueVersion );
 
     ArtifactRepository createArtifactRepository( String id, String url, 
ArtifactRepositoryLayout repositoryLayout,
                                                  ArtifactRepositoryPolicy 
snapshots,
@@ -34,5 +35,4 @@
     void setGlobalUpdatePolicy( String snapshotPolicy );
 
     void setGlobalChecksumPolicy( String checksumPolicy );
-
-}
\ No newline at end of file
+}

Modified: maven/components/trunk/maven-model/maven.mdo
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/maven.mdo?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- maven/components/trunk/maven-model/maven.mdo (original)
+++ maven/components/trunk/maven-model/maven.mdo Tue Oct  4 01:43:36 2005
@@ -1530,7 +1530,7 @@
             generated by the project
           ]]></description>
           <association>
-            <type>RepositoryBase</type>
+            <type>DeploymentRepository</type>
           </association>
         </field>
         <field>
@@ -1540,7 +1540,7 @@
             Where to deploy snapshots of artifacts to. If not given, it 
defaults to the repository.
           </description>
           <association>
-            <type>RepositoryBase</type>
+            <type>DeploymentRepository</type>
           </association>
         </field>
         <field>
@@ -2226,6 +2226,36 @@
           <association>
             <type>RepositoryPolicy</type>
           </association>
+        </field>
+      </fields>
+      <!-- prevent modello generation of an incorrect equals method. Could be 
avoided by using <identity/> tags to mark ID as the only identity field -->
+      <codeSegments>
+        <codeSegment>
+          <version>4.0.0</version>
+          <code><![CDATA[
+            public boolean equals( Object obj )
+            {
+                return super.equals( obj );
+            }
+          ]]></code>
+        </codeSegment>
+      </codeSegments>
+    </class>
+
+    <class>
+      <name>DeploymentRepository</name>
+      <superClass>RepositoryBase</superClass>
+      <version>4.0.0</version>
+      <description>
+        Repository contains the information needed for deploying to the remote 
repoistory
+      </description>
+      <fields>
+        <field>
+          <name>uniqueVersion</name>
+          <description>Whether to assign snapshots a unique version comprised 
of the timestamp and build number, or to use the same version each 
time</description>
+          <type>boolean</type>
+          <defaultValue>true</defaultValue>
+          <version>4.0.0</version>
         </field>
       </fields>
       <!-- prevent modello generation of an incorrect equals method. Could be 
avoided by using <identity/> tags to mark ID as the only identity field -->

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=293570&r1=293569&r2=293570&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
 Tue Oct  4 01:43:36 2005
@@ -632,14 +632,15 @@
         DistributionManagement dm = model.getDistributionManagement();
         if ( dm != null )
         {
-            ArtifactRepository repo = 
ProjectUtils.buildArtifactRepositoryBase( dm.getRepository(),
-                                                                               
 artifactRepositoryFactory, container );
+            ArtifactRepository repo = 
ProjectUtils.buildDeploymentArtifactRepository( dm.getRepository(),
+                                                                               
       artifactRepositoryFactory,
+                                                                               
       container );
             project.setReleaseArtifactRepository( repo );
 
             if ( dm.getSnapshotRepository() != null )
             {
-                repo = ProjectUtils.buildArtifactRepositoryBase( 
dm.getSnapshotRepository(), artifactRepositoryFactory,
-                                                                 container );
+                repo = ProjectUtils.buildDeploymentArtifactRepository( 
dm.getSnapshotRepository(),
+                                                                       
artifactRepositoryFactory, container );
                 project.setSnapshotArtifactRepository( repo );
             }
         }

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ModelUtils.java
 Tue Oct  4 01:43:36 2005
@@ -42,6 +42,7 @@
 import org.apache.maven.model.RepositoryPolicy;
 import org.apache.maven.model.Resource;
 import org.apache.maven.model.Site;
+import org.apache.maven.model.DeploymentRepository;
 import org.apache.maven.project.inheritance.DefaultModelInheritanceAssembler;
 import org.apache.maven.project.inheritance.ModelInheritanceAssembler;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
@@ -650,7 +651,7 @@
 
             if ( repo != null )
             {
-                RepositoryBase newRepo = new RepositoryBase();
+                DeploymentRepository newRepo = new DeploymentRepository();
 
                 newRepo.setId( repo.getId() );
                 newRepo.setLayout( repo.getLayout() );
@@ -677,7 +678,7 @@
 
             if ( sRepo != null )
             {
-                RepositoryBase newRepo = new RepositoryBase();
+                DeploymentRepository newRepo = new DeploymentRepository();
 
                 newRepo.setId( sRepo.getId() );
                 newRepo.setLayout( sRepo.getLayout() );

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectUtils.java
 Tue Oct  4 01:43:36 2005
@@ -23,6 +23,7 @@
 import org.apache.maven.model.Repository;
 import org.apache.maven.model.RepositoryBase;
 import org.apache.maven.model.RepositoryPolicy;
+import org.apache.maven.model.DeploymentRepository;
 import org.codehaus.plexus.PlexusContainer;
 import 
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 
@@ -59,9 +60,9 @@
         return repos;
     }
 
-    public static ArtifactRepository buildArtifactRepositoryBase( 
RepositoryBase repo,
-                                                                  
ArtifactRepositoryFactory artifactRepositoryFactory,
-                                                                  
PlexusContainer container )
+    public static ArtifactRepository buildDeploymentArtifactRepository( 
DeploymentRepository repo,
+                                                                        
ArtifactRepositoryFactory artifactRepositoryFactory,
+                                                                        
PlexusContainer container )
         throws ProjectBuildingException
     {
         if ( repo != null )
@@ -72,7 +73,7 @@
             // TODO: make this a map inside the factory instead, so no lookup 
needed
             ArtifactRepositoryLayout layout = getRepositoryLayout( repo, 
container );
 
-            return artifactRepositoryFactory.createArtifactRepository( id, 
url, layout );
+            return 
artifactRepositoryFactory.createDeploymentArtifactRepository( id, url, layout, 
repo.isUniqueVersion() );
         }
         else
         {

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java?rev=293570&r1=293569&r2=293570&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
 Tue Oct  4 01:43:36 2005
@@ -26,6 +26,7 @@
 import org.apache.maven.model.Repository;
 import org.apache.maven.model.Scm;
 import org.apache.maven.model.Site;
+import org.apache.maven.model.DeploymentRepository;
 import org.apache.maven.project.ModelUtils;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -474,7 +475,7 @@
             {
                 if ( parentDistMgmt.getRepository() != null )
                 {
-                    Repository repository = new Repository();
+                    DeploymentRepository repository = new 
DeploymentRepository();
 
                     childDistMgmt.setRepository( repository );
 
@@ -490,7 +491,7 @@
             {
                 if ( parentDistMgmt.getSnapshotRepository() != null )
                 {
-                    Repository repository = new Repository();
+                    DeploymentRepository repository = new 
DeploymentRepository();
 
                     childDistMgmt.setSnapshotRepository( repository );
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to