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]