You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/07/25 11:51:57 UTC
svn commit: r224707 [1/2] - in /maven/components/trunk: ./
maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/
maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/
maven-artifact-manager/src/main/java/org/apache/maven/ar...
Author: brett
Date: Mon Jul 25 02:51:12 2005
New Revision: 224707
URL: http://svn.apache.org/viewcvs?rev=224707&view=rev
Log:
PR: MNG-456
allow separate snapshot and release repositories
deprecate existing snapshotPolicy and checksumPolicy in favour of updatePolicy and checksumPolicy within the <releases> and <snapshots> elements in the <repository> element.
Added:
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RepositoryPolicy.java (with props)
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java (with props)
Modified:
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RemoteRepository.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java
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/AbstractVersionTransformation.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.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-artifact/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformation.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
maven/components/trunk/maven-model/maven.mdo
maven/components/trunk/maven-plugins/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java
maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java
maven/components/trunk/maven-plugins/pom.xml
maven/components/trunk/maven-profile/profiles.mdo
maven/components/trunk/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java
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/MavenProject.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
maven/components/trunk/maven-settings/settings.mdo
maven/components/trunk/maven-settings/src/main/java/org/apache/maven/settings/SettingsUtils.java
maven/components/trunk/pom.xml
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java Mon Jul 25 02:51:12 2005
@@ -21,6 +21,7 @@
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.model.Model;
@@ -34,7 +35,6 @@
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
-import org.codehaus.classworlds.ClassRealm;
import org.codehaus.classworlds.ClassWorld;
import org.codehaus.classworlds.DuplicateRealmException;
import org.codehaus.plexus.PlexusContainerException;
@@ -113,12 +113,15 @@
{
repositoryFactory = (ArtifactRepositoryFactory) lookup( ArtifactRepositoryFactory.ROLE );
- String snapshotPolicy = repository.getSnapshotPolicy();
- String checksumPolicy = repository.getChecksumPolicy();
+ ArtifactRepositoryPolicy snapshots = buildArtifactRepositoryPolicy( repository.getSnapshots(),
+ repository.getSnapshotPolicy(),
+ repository.getChecksumPolicy() );
+ ArtifactRepositoryPolicy releases = buildArtifactRepositoryPolicy( repository.getReleases(),
+ repository.getSnapshotPolicy(),
+ repository.getChecksumPolicy() );
artifactRepository = repositoryFactory.createArtifactRepository( "remote", repository.getUrl(),
- repositoryLayout, snapshotPolicy,
- checksumPolicy );
+ repositoryLayout, snapshots, releases );
}
finally
{
@@ -135,6 +138,29 @@
return artifactRepository;
}
+ private static ArtifactRepositoryPolicy buildArtifactRepositoryPolicy(
+ RepositoryPolicy policy, String defaultUpdatePolicy, String defaultChecksumPolicy )
+ {
+ boolean enabled = true;
+ String updatePolicy = defaultUpdatePolicy;
+ String checksumPolicy = defaultChecksumPolicy;
+
+ if ( policy != null )
+ {
+ enabled = policy.isEnabled();
+ if ( policy.getUpdatePolicy() != null )
+ {
+ updatePolicy = policy.getUpdatePolicy();
+ }
+ if ( policy.getChecksumPolicy() != null )
+ {
+ checksumPolicy = policy.getChecksumPolicy();
+ }
+ }
+
+ return new ArtifactRepositoryPolicy( enabled, updatePolicy, checksumPolicy );
+ }
+
protected LocalRepository getDefaultLocalRepository()
{
Settings settings = getSettings();
@@ -193,13 +219,30 @@
protected RemoteRepository createAntRemoteRepository( org.apache.maven.model.Repository pomRepository )
{
+ RemoteRepository r = createAntRemoteRepositoryBase( pomRepository );
+
+ r.setSnapshotPolicy( pomRepository.getSnapshotPolicy() );
+
+ if ( pomRepository.getSnapshots() != null )
+ {
+ r.setSnapshots( convertRepositoryPolicy( pomRepository.getSnapshots() ) );
+ }
+ if ( pomRepository.getReleases() != null )
+ {
+ r.setReleases( convertRepositoryPolicy( pomRepository.getReleases() ) );
+ }
+
+ 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
// manager at the start like m2 does, and then match up by repository id
- // As is, this could potentially cause a problem with 2 remote repositories with different authentication info
+ // As is, this could potentially cause a problem with 2 remote repositories with different authentication info
RemoteRepository r = new RemoteRepository();
r.setUrl( pomRepository.getUrl() );
- r.setSnapshotPolicy( pomRepository.getSnapshotPolicy() );
r.setLayout( pomRepository.getLayout() );
Server server = getSettings().getServer( pomRepository.getId() );
@@ -219,7 +262,6 @@
{
r.setUrl( mirror.getUrl() );
}
-
return r;
}
@@ -360,6 +402,15 @@
{
ArtifactFactory factory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
// TODO: maybe not strictly correct, while we should enfore that packaging has a type handler of the same id, we don't
- return factory.createBuildArtifact( pom.getGroupId(), pom.getArtifactId(), pom.getVersion(), pom.getPackaging() );
+ return factory.createBuildArtifact( pom.getGroupId(), pom.getArtifactId(), pom.getVersion(),
+ pom.getPackaging() );
+ }
+
+ private static RepositoryPolicy convertRepositoryPolicy( org.apache.maven.model.RepositoryPolicy pomRepoPolicy )
+ {
+ RepositoryPolicy policy = new RepositoryPolicy();
+ policy.setEnabled( pomRepoPolicy.isEnabled() );
+ policy.setUpdatePolicy( pomRepoPolicy.getUpdatePolicy() );
+ return policy;
}
}
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java Mon Jul 25 02:51:12 2005
@@ -17,7 +17,6 @@
*/
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.artifact.deployer.ArtifactDeployer;
import org.apache.maven.artifact.deployer.ArtifactDeploymentException;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
@@ -39,6 +38,8 @@
{
private RemoteRepository remoteRepository;
+ private RemoteRepository remoteSnapshotRepository;
+
private File file;
public void execute()
@@ -60,11 +61,26 @@
throw new BuildException( "A distributionManagement element is required in your POM to deploy" );
}
- remoteRepository = createAntRemoteRepository( pom.getDistributionManagement().getRepository() );
+ remoteRepository = createAntRemoteRepositoryBase( pom.getDistributionManagement().getRepository() );
+ }
+
+ if ( remoteSnapshotRepository == null )
+ {
+ if ( pom.getDistributionManagement().getSnapshotRepository() != null )
+ {
+ remoteSnapshotRepository = createAntRemoteRepositoryBase(
+ pom.getDistributionManagement().getSnapshotRepository() );
+ }
}
ArtifactRepository deploymentRepository = createRemoteArtifactRepository( remoteRepository );
+ ArtifactRepository snapshotRepository = null;
+ if ( remoteSnapshotRepository != null )
+ {
+ snapshotRepository = createRemoteArtifactRepository( remoteSnapshotRepository );
+ }
+
// Deploy the POM
Artifact artifact = createArtifact( pom );
@@ -98,6 +114,11 @@
public RemoteRepository getRemoteRepository()
{
return remoteRepository;
+ }
+
+ public void addRemoteSnapshotRepository( RemoteRepository remoteSnapshotRepository )
+ {
+ this.remoteSnapshotRepository = remoteSnapshotRepository;
}
public void addRemoteRepository( RemoteRepository remoteRepository )
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RemoteRepository.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RemoteRepository.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RemoteRepository.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RemoteRepository.java Mon Jul 25 02:51:12 2005
@@ -29,12 +29,18 @@
private Authentication authentication;
+ /** @deprecated use <snapshots/> and <updatePolicy> instead. */
private String snapshotPolicy;
+ /** @deprecated use <snapshots/> and <checksumPolicy> instead. */
private String checksumPolicy;
private Proxy proxy;
+ private RepositoryPolicy snapshots;
+
+ private RepositoryPolicy releases;
+
public String getUrl()
{
return ( (RemoteRepository) getInstance() ).url;
@@ -83,5 +89,25 @@
public void setChecksumPolicy( String checksumPolicy )
{
this.checksumPolicy = checksumPolicy;
+ }
+
+ public RepositoryPolicy getSnapshots()
+ {
+ return snapshots;
+ }
+
+ public void setSnapshots( RepositoryPolicy snapshots )
+ {
+ this.snapshots = snapshots;
+ }
+
+ public RepositoryPolicy getReleases()
+ {
+ return releases;
+ }
+
+ public void setReleases( RepositoryPolicy releases )
+ {
+ this.releases = releases;
}
}
Added: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RepositoryPolicy.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RepositoryPolicy.java?rev=224707&view=auto
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RepositoryPolicy.java (added)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RepositoryPolicy.java Mon Jul 25 02:51:12 2005
@@ -0,0 +1,65 @@
+package org.apache.maven.artifact.ant;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.tools.ant.ProjectComponent;
+
+/**
+ * Base class for a repository.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class RepositoryPolicy
+ extends ProjectComponent
+{
+ private String updatePolicy;
+
+ private String checksumPolicy;
+
+ private boolean enabled = true;
+
+ public String getUpdatePolicy()
+ {
+ return updatePolicy;
+ }
+
+ public void setUpdatePolicy( String updatePolicy )
+ {
+ this.updatePolicy = updatePolicy;
+ }
+
+ public boolean isEnabled()
+ {
+ return enabled;
+ }
+
+ public void setEnabled( boolean enabled )
+ {
+ this.enabled = enabled;
+ }
+
+ public String getChecksumPolicy()
+ {
+ return checksumPolicy;
+ }
+
+ public void setChecksumPolicy( String checksumPolicy )
+ {
+ this.checksumPolicy = checksumPolicy;
+ }
+}
Propchange: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RepositoryPolicy.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/RepositoryPolicy.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java Mon Jul 25 02:51:12 2005
@@ -43,10 +43,8 @@
ArtifactRepository localRepository )
throws ArtifactDeploymentException
{
- File source = null;
-
String extension = artifact.getArtifactHandler().getExtension();
- source = new File( basedir, finalName + "." + extension );
+ File source = new File( basedir, finalName + "." + extension );
deploy( source, artifact, deploymentRepository, localRepository );
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Mon Jul 25 02:51:12 2005
@@ -19,6 +19,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
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.RepositoryMetadata;
import org.apache.maven.wagon.ConnectionException;
@@ -238,16 +239,26 @@
{
String remotePath = repository.pathOf( artifact );
- getRemoteFile( repository, destination, remotePath, downloadMonitor );
+ ArtifactRepositoryPolicy policy = artifact.isSnapshot() ? repository.getSnapshots() : repository.getReleases();
+
+ if ( policy.isEnabled() )
+ {
+ getRemoteFile( repository, destination, remotePath, downloadMonitor, policy.getUpdatePolicy() );
+ }
+ else
+ {
+ getLogger().info( "Skipping disabled repository " + repository.getId() );
+ }
}
- public void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File destination )
+ public void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository repository, File destination,
+ String updatePolicy )
throws TransferFailedException, ResourceDoesNotExistException
{
- String remotePath = remoteRepository.pathOfMetadata( metadata );
+ String remotePath = repository.pathOfMetadata( metadata );
getLogger().info( "Retrieving " + metadata );
- getRemoteFile( remoteRepository, destination, remotePath, null );
+ getRemoteFile( repository, destination, remotePath, null, updatePolicy );
}
public void getRepositoryMetadata( RepositoryMetadata metadata, ArtifactRepository remoteRepository,
@@ -258,11 +269,11 @@
getLogger().info( "Retrieving " + metadata );
- getRemoteFile( remoteRepository, destination, remotePath, null );
+ getRemoteFile( remoteRepository, destination, remotePath, null, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
}
private void getRemoteFile( ArtifactRepository repository, File destination, String remotePath,
- TransferListener downloadMonitor )
+ TransferListener downloadMonitor, String updatePolicy )
throws TransferFailedException, ResourceDoesNotExistException, ChecksumFailedException
{
// TODO: better excetpions - transfer failed is not enough?
@@ -272,7 +283,8 @@
ArtifactRepository mirror = getMirror( repository.getId() );
if ( mirror != null )
{
- repository = mirror;
+ repository = new DefaultArtifactRepository( mirror.getId(), mirror.getUrl(), repository.getLayout(),
+ repository.getSnapshots(), repository.getReleases() );
}
String protocol = repository.getProtocol();
@@ -351,7 +363,7 @@
}
else
{
- handleChecksumFailure( repository, e.getMessage(), e.getCause() );
+ handleChecksumFailure( updatePolicy, e.getMessage(), e.getCause() );
}
}
catch ( ResourceDoesNotExistException sha1TryException )
@@ -374,13 +386,13 @@
}
else
{
- handleChecksumFailure( repository, e.getMessage(), e.getCause() );
+ handleChecksumFailure( updatePolicy, e.getMessage(), e.getCause() );
}
}
catch ( ResourceDoesNotExistException md5TryException )
{
// this was a failed transfer, and we don't want to retry.
- handleChecksumFailure( repository, "Error retrieving checksum file for " + remotePath,
+ handleChecksumFailure( updatePolicy, "Error retrieving checksum file for " + remotePath,
md5TryException );
}
}
@@ -440,10 +452,10 @@
}
}
- private void handleChecksumFailure( ArtifactRepository repository, String message, Throwable cause )
+ private void handleChecksumFailure( String updatePolicy, String message, Throwable cause )
throws ChecksumFailedException
{
- if ( repository.failOnChecksumMismatch() )
+ if ( ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL.equals( updatePolicy ) )
{
throw new ChecksumFailedException( message, cause );
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/WagonManager.java Mon Jul 25 02:51:12 2005
@@ -54,7 +54,8 @@
void putArtifactMetadata( File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository )
throws TransferFailedException;
- void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File destination )
+ void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File destination,
+ String updatePolicy )
throws TransferFailedException, ResourceDoesNotExistException;
void putRepositoryMetadata( File source, RepositoryMetadata metadata, ArtifactRepository repository )
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/AbstractVersionArtifactMetadata.java Mon Jul 25 02:51:12 2005
@@ -39,7 +39,7 @@
{
protected static final String SNAPSHOT_VERSION_FILE = "version.txt";
- protected long lastModified = 0;
+ protected long lastModified;
public AbstractVersionArtifactMetadata( Artifact artifact, String filename )
{
@@ -82,7 +82,8 @@
}
}
- public void retrieveFromRemoteRepository( ArtifactRepository remoteRepository, WagonManager wagonManager )
+ public void retrieveFromRemoteRepository( ArtifactRepository remoteRepository, WagonManager wagonManager,
+ String updatePolicy )
throws ArtifactMetadataRetrievalException, ResourceDoesNotExistException
{
try
@@ -91,7 +92,7 @@
File destination = File.createTempFile( "maven-artifact", null );
destination.deleteOnExit();
- wagonManager.getArtifactMetadata( this, remoteRepository, destination );
+ wagonManager.getArtifactMetadata( this, remoteRepository, destination, updatePolicy );
readFromFile( destination );
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/LatestArtifactMetadata.java Mon Jul 25 02:51:12 2005
@@ -13,7 +13,7 @@
public LatestArtifactMetadata( Artifact artifact )
{
- super( artifact, artifact.getArtifactId() + "-" + LatestArtifactTransformation.LATEST_VERSION + "." + SNAPSHOT_VERSION_FILE );
+ super( artifact, artifact.getArtifactId() + "-" + Artifact.LATEST_VERSION + "." + SNAPSHOT_VERSION_FILE );
}
public String constructVersion()
@@ -74,7 +74,7 @@
public String getBaseVersion()
{
- return LatestArtifactTransformation.LATEST_VERSION;
+ return Artifact.LATEST_VERSION;
}
public boolean storedInArtifactDirectory()
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java Mon Jul 25 02:51:12 2005
@@ -25,7 +25,6 @@
import java.util.Date;
import java.util.TimeZone;
import java.util.regex.Matcher;
-import java.util.regex.Pattern;
/**
* Contains the information stored for a snapshot.
@@ -36,16 +35,14 @@
public class SnapshotArtifactMetadata
extends AbstractVersionArtifactMetadata
{
- private String timestamp = null;
+ private String timestamp;
- private int buildNumber = 0;
+ private int buildNumber;
private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" );
private static final String UTC_TIMESTAMP_PATTERN = "yyyyMMdd.HHmmss";
- public static final Pattern VERSION_FILE_PATTERN = Pattern.compile( "^(.*)-([0-9]{8}.[0-9]{6})-([0-9]+)$" );
-
// TODO: very quick and nasty hack to get the same timestamp across a build - not embedder friendly
private static String sessionTimestamp = null;
@@ -74,7 +71,7 @@
protected void setContent( String content )
{
- Matcher matcher = VERSION_FILE_PATTERN.matcher( content );
+ Matcher matcher = Artifact.VERSION_FILE_PATTERN.matcher( content );
if ( matcher.matches() )
{
timestamp = matcher.group( 2 );
@@ -159,7 +156,7 @@
if ( timestamp != null )
{
String fileTimestamp = getUtcDateFormatter().format( new Date( fileTime ) );
- return ( fileTimestamp.compareTo( timestamp ) < 0 );
+ return fileTimestamp.compareTo( timestamp ) < 0;
}
return false;
}
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=224707&r1=224706&r2=224707&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 Mon Jul 25 02:51:12 2005
@@ -32,26 +32,43 @@
extends Repository
implements ArtifactRepository
{
- private final String snapshotPolicy;
-
- private final String checksumPolicy;
-
private final ArtifactRepositoryLayout layout;
+ private ArtifactRepositoryPolicy snapshots;
+
+ private ArtifactRepositoryPolicy releases;
+
+ /**
+ * Create a local repository or a deployment repository.
+ *
+ * @param id the unique identifier of the repository
+ * @param url the URL of the repository
+ * @param layout the layout of the repository
+ */
public DefaultArtifactRepository( String id, String url, ArtifactRepositoryLayout layout )
{
- this( id, url, layout, SNAPSHOT_POLICY_NEVER, CHECKSUM_POLICY_WARN );
+ this( id, url, layout, null, null );
}
- public DefaultArtifactRepository( String id, String url, ArtifactRepositoryLayout layout, String snapshotPolicy, String checksumPolicy )
+ /**
+ * Create a remote download repository.
+ *
+ * @param id the unique identifier of the repository
+ * @param url the URL of the repository
+ * @param layout the layout of the repository
+ * @param snapshots the policies to use for snapshots
+ * @param releases the policies to use for releases
+ */
+ public DefaultArtifactRepository( String id, String url, ArtifactRepositoryLayout layout,
+ ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
{
super( id, url );
this.layout = layout;
- this.snapshotPolicy = snapshotPolicy;
-
- this.checksumPolicy = checksumPolicy;
+ this.snapshots = snapshots;
+
+ this.releases = releases;
}
public String pathOf( Artifact artifact )
@@ -63,7 +80,7 @@
{
return layout.pathOfMetadata( artifactMetadata );
}
-
+
public String formatAsDirectory( String directory )
{
return layout.formatAsDirectory( directory );
@@ -74,19 +91,18 @@
return layout.formatAsFile( file );
}
- public String getSnapshotPolicy()
+ public ArtifactRepositoryLayout getLayout()
{
- return snapshotPolicy;
+ return layout;
}
-
- public String getChecksumPolicy()
+
+ public ArtifactRepositoryPolicy getSnapshots()
{
- return checksumPolicy;
+ return snapshots;
}
-
- public boolean failOnChecksumMismatch()
+
+ public ArtifactRepositoryPolicy getReleases()
{
- return CHECKSUM_POLICY_FAIL.equals( checksumPolicy );
+ return releases;
}
-
-}
\ No newline at end of file
+}
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=224707&r1=224706&r2=224707&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 Mon Jul 25 02:51:12 2005
@@ -25,52 +25,67 @@
implements ArtifactRepositoryFactory
{
// TODO: use settings?
- private String globalSnapshotPolicy = null;
+ private String globalUpdatePolicy;
- private String globalChecksumPolicy = null;
+ private String globalChecksumPolicy;
+
+ private boolean globalEnable = true;
public ArtifactRepository createArtifactRepository( String id, String url,
- ArtifactRepositoryLayout repositoryLayout,
- String snapshotPolicy, String checksumPolicy )
+ ArtifactRepositoryLayout repositoryLayout )
{
- ArtifactRepository repo = null;
-
- String snapPolicy = snapshotPolicy;
+ return new DefaultArtifactRepository( id, url, repositoryLayout );
+ }
- if ( globalSnapshotPolicy != null )
+ public ArtifactRepository createArtifactRepository( String id, String url,
+ ArtifactRepositoryLayout repositoryLayout,
+ ArtifactRepositoryPolicy snapshots,
+ ArtifactRepositoryPolicy releases )
+ {
+ if ( snapshots == null )
{
- snapPolicy = globalSnapshotPolicy;
+ snapshots = new ArtifactRepositoryPolicy();
}
- if ( snapPolicy == null )
+ if ( releases == null )
{
- snapPolicy = ArtifactRepository.SNAPSHOT_POLICY_NEVER;
+ releases = new ArtifactRepositoryPolicy();
}
- String csumPolicy = checksumPolicy;
+ if ( globalUpdatePolicy != null )
+ {
+ snapshots.setUpdatePolicy( globalUpdatePolicy );
+ releases.setUpdatePolicy( globalUpdatePolicy );
+ }
if ( globalChecksumPolicy != null )
{
- csumPolicy = globalChecksumPolicy;
+ snapshots.setChecksumPolicy( globalChecksumPolicy );
+ releases.setChecksumPolicy( globalChecksumPolicy );
}
- if ( csumPolicy == null )
+ // TODO: needed, or can offline cover it?
+ if ( !globalEnable )
{
- csumPolicy = ArtifactRepository.CHECKSUM_POLICY_WARN;
+ snapshots.setEnabled( false );
+ releases.setEnabled( false );
}
- repo = new DefaultArtifactRepository( id, url, repositoryLayout, snapPolicy, csumPolicy );
-
- return repo;
+ return new DefaultArtifactRepository( id, url, repositoryLayout, snapshots, releases );
}
- public void setGlobalSnapshotPolicy( String snapshotPolicy )
+ public void setGlobalUpdatePolicy( String updatePolicy )
{
- this.globalSnapshotPolicy = snapshotPolicy;
+ this.globalUpdatePolicy = updatePolicy;
}
public void setGlobalChecksumPolicy( String checksumPolicy )
{
this.globalChecksumPolicy = checksumPolicy;
+ }
+
+ public void setGlobalEnable( boolean enable )
+ {
+ this.globalEnable = enable;
}
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/AbstractVersionTransformation.java Mon Jul 25 02:51:12 2005
@@ -22,6 +22,7 @@
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.metadata.VersionArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -69,62 +70,74 @@
boolean checkedUpdates = false;
for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
{
- ArtifactRepository remoteRepository = (ArtifactRepository) i.next();
+ ArtifactRepository repository = (ArtifactRepository) i.next();
- String snapshotPolicy = remoteRepository.getSnapshotPolicy();
- // TODO: should be able to calculate this less often
- boolean checkForUpdates = false;
- if ( ArtifactRepository.SNAPSHOT_POLICY_ALWAYS.equals( snapshotPolicy ) )
+ ArtifactRepositoryPolicy policy = artifact.isSnapshot() ? repository.getSnapshots()
+ : repository.getReleases();
+
+ if ( !policy.isEnabled() )
{
- checkForUpdates = true;
+ getLogger().info( "Skipping disabled repository " + repository.getId() );
}
- else if ( ArtifactRepository.SNAPSHOT_POLICY_DAILY.equals( snapshotPolicy ) )
+ else
{
- if ( !localMetadata.checkedSinceDate( getMidnightBoundary() ) )
+ String updatePolicy = policy.getUpdatePolicy();
+ // TODO: should be able to calculate this less often
+ boolean checkForUpdates = false;
+ if ( ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS.equals( updatePolicy ) )
{
checkForUpdates = true;
}
- }
- else if ( snapshotPolicy.startsWith( ArtifactRepository.SNAPSHOT_POLICY_INTERVAL ) )
- {
- String s = snapshotPolicy.substring( ArtifactRepository.SNAPSHOT_POLICY_INTERVAL.length() + 1 );
- int minutes = Integer.valueOf( s ).intValue();
- Calendar cal = Calendar.getInstance();
- cal.add( Calendar.MINUTE, -minutes );
- if ( !localMetadata.checkedSinceDate( cal.getTime() ) )
- {
- checkForUpdates = true;
- }
- }
- // else assume "never"
-
- if ( checkForUpdates )
- {
- getLogger().info(
- artifact.getArtifactId() + ": checking for updates from " + remoteRepository.getId() );
-
- VersionArtifactMetadata remoteMetadata;
-
- checkedUpdates = true;
-
- try
- {
- remoteMetadata = retrieveFromRemoteRepository( artifact, remoteRepository, localMetadata );
- }
- catch ( ResourceDoesNotExistException e )
- {
- getLogger().debug( "Error resolving artifact version from metadata.", e );
-
- continue;
- }
-
- int difference = remoteMetadata.compareTo( localMetadata );
- if ( difference > 0 )
+ else if ( ArtifactRepositoryPolicy.UPDATE_POLICY_DAILY.equals( updatePolicy ) )
{
- // remote is newer
- artifact.setRepository( remoteRepository );
+ if ( !localMetadata.checkedSinceDate( getMidnightBoundary() ) )
+ {
+ checkForUpdates = true;
+ }
+ }
+ else if ( updatePolicy.startsWith( ArtifactRepositoryPolicy.UPDATE_POLICY_INTERVAL ) )
+ {
+ String s = updatePolicy.substring(
+ ArtifactRepositoryPolicy.UPDATE_POLICY_INTERVAL.length() + 1 );
+ int minutes = Integer.valueOf( s ).intValue();
+ Calendar cal = Calendar.getInstance();
+ cal.add( Calendar.MINUTE, -minutes );
+ if ( !localMetadata.checkedSinceDate( cal.getTime() ) )
+ {
+ checkForUpdates = true;
+ }
+ }
+ // else assume "never"
+
+ if ( checkForUpdates )
+ {
+ getLogger().info(
+ artifact.getArtifactId() + ": checking for updates from " + repository.getId() );
+
+ VersionArtifactMetadata remoteMetadata;
+
+ checkedUpdates = true;
+
+ try
+ {
+ remoteMetadata = retrieveFromRemoteRepository( artifact, repository, localMetadata,
+ updatePolicy );
+ }
+ catch ( ResourceDoesNotExistException e )
+ {
+ getLogger().debug( "Error resolving artifact version from metadata.", e );
+
+ continue;
+ }
+
+ int difference = remoteMetadata.compareTo( localMetadata );
+ if ( difference > 0 )
+ {
+ // remote is newer
+ artifact.setRepository( repository );
- localMetadata = remoteMetadata;
+ localMetadata = remoteMetadata;
+ }
}
}
}
@@ -174,12 +187,13 @@
protected VersionArtifactMetadata retrieveFromRemoteRepository( Artifact artifact,
ArtifactRepository remoteRepository,
- VersionArtifactMetadata localMetadata )
+ VersionArtifactMetadata localMetadata,
+ String updatePolicy )
throws ArtifactMetadataRetrievalException, ResourceDoesNotExistException
{
AbstractVersionArtifactMetadata metadata = createMetadata( artifact );
- metadata.retrieveFromRemoteRepository( remoteRepository, wagonManager );
+ metadata.retrieveFromRemoteRepository( remoteRepository, wagonManager, updatePolicy );
return metadata;
}
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/transform/LatestArtifactTransformation.java Mon Jul 25 02:51:12 2005
@@ -27,12 +27,10 @@
public class LatestArtifactTransformation
extends AbstractVersionTransformation
{
- public static final String LATEST_VERSION = "LATEST";
-
public void transformForResolve( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository )
throws ArtifactMetadataRetrievalException
{
- if ( LATEST_VERSION.equals( artifact.getVersion() ) )
+ if ( Artifact.LATEST_VERSION.equals( artifact.getVersion() ) )
{
String version = resolveVersion( artifact, localRepository, remoteRepositories );
if ( version != null && !version.equals( artifact.getVersion() ) )
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=224707&r1=224706&r2=224707&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 Mon Jul 25 02:51:12 2005
@@ -21,10 +21,10 @@
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.metadata.SnapshotArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.wagon.ResourceDoesNotExistException;
import java.util.List;
-import java.util.regex.Matcher;
/**
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
@@ -35,18 +35,10 @@
public class SnapshotTransformation
extends AbstractVersionTransformation
{
- public static final String SNAPSHOT_VERSION = "SNAPSHOT";
-
public void transformForResolve( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository )
throws ArtifactMetadataRetrievalException
{
- Matcher m = SnapshotArtifactMetadata.VERSION_FILE_PATTERN.matcher( artifact.getBaseVersion() );
- if ( m.matches() )
- {
- // This corrects the base version, but ensure it is not resolved again
- artifact.setBaseVersion( m.group( 1 ) + "-" + SNAPSHOT_VERSION );
- }
- else if ( isSnapshot( artifact ) )
+ if ( artifact.isSnapshot() )
{
String version = resolveVersion( artifact, localRepository, remoteRepositories );
artifact.updateVersion( version, localRepository );
@@ -56,12 +48,7 @@
public void transformForInstall( Artifact artifact, ArtifactRepository localRepository )
throws ArtifactMetadataRetrievalException
{
- Matcher m = SnapshotArtifactMetadata.VERSION_FILE_PATTERN.matcher( artifact.getBaseVersion() );
- if ( m.matches() )
- {
- artifact.setBaseVersion( m.group( 1 ) + "-" + SNAPSHOT_VERSION );
- }
- else if ( isSnapshot( artifact ) )
+ if ( artifact.isSnapshot() )
{
SnapshotArtifactMetadata metadata = new SnapshotArtifactMetadata( artifact );
metadata.storeInLocalRepository( localRepository );
@@ -71,19 +58,14 @@
public void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository )
throws ArtifactMetadataRetrievalException
{
- Matcher m = SnapshotArtifactMetadata.VERSION_FILE_PATTERN.matcher( artifact.getBaseVersion() );
- if ( m.matches() )
- {
- // This corrects the base version, but ensure it is not updated again
- artifact.setBaseVersion( m.group( 1 ) + "-" + SNAPSHOT_VERSION );
- }
- else if ( isSnapshot( artifact ) )
+ if ( artifact.isSnapshot() )
{
SnapshotArtifactMetadata metadata;
try
{
- metadata = (SnapshotArtifactMetadata) retrieveFromRemoteRepository( artifact, remoteRepository, null );
+ metadata = (SnapshotArtifactMetadata) retrieveFromRemoteRepository( artifact, remoteRepository, null,
+ ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS );
}
catch ( ResourceDoesNotExistException e )
{
@@ -97,11 +79,6 @@
artifact.addMetadata( metadata );
}
- }
-
- private static boolean isSnapshot( Artifact artifact )
- {
- return artifact.getVersion().endsWith( SNAPSHOT_VERSION );
}
protected AbstractVersionArtifactMetadata createMetadata( Artifact artifact )
Modified: maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java Mon Jul 25 02:51:12 2005
@@ -18,6 +18,7 @@
import org.apache.maven.artifact.factory.ArtifactFactory;
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.layout.ArtifactRepositoryLayout;
import org.codehaus.plexus.PlexusTestCase;
@@ -56,7 +57,7 @@
ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE,
"legacy" );
- return (ArtifactRepository) new DefaultArtifactRepository( "test", "file://" + f.getPath(), repoLayout );
+ return new DefaultArtifactRepository( "test", "file://" + f.getPath(), repoLayout );
}
protected String getRepositoryLayout()
@@ -74,7 +75,7 @@
ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE,
"legacy" );
- return (ArtifactRepository) new DefaultArtifactRepository( "local", "file://" + f.getPath(), repoLayout );
+ return new DefaultArtifactRepository( "local", "file://" + f.getPath(), repoLayout );
}
protected ArtifactRepository remoteRepository()
@@ -87,9 +88,8 @@
ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE,
"legacy" );
- return (ArtifactRepository) new DefaultArtifactRepository( "test", "file://" + f.getPath(), repoLayout,
- ArtifactRepository.SNAPSHOT_POLICY_NEVER,
- ArtifactRepository.CHECKSUM_POLICY_WARN );
+ return new DefaultArtifactRepository( "test", "file://" + f.getPath(), repoLayout,
+ new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy() );
}
protected ArtifactRepository badRemoteRepository()
@@ -98,7 +98,7 @@
ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE,
"legacy" );
- return (ArtifactRepository) new DefaultArtifactRepository( "test", "http://foo.bar/repository", repoLayout );
+ return new DefaultArtifactRepository( "test", "http://foo.bar/repository", repoLayout );
}
protected void assertRemoteArtifactPresent( Artifact artifact )
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/Artifact.java Mon Jul 25 02:51:12 2005
@@ -24,6 +24,8 @@
import java.io.File;
import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* Description of an artifact.
@@ -33,6 +35,12 @@
public interface Artifact
extends Comparable
{
+ String LATEST_VERSION = "LATEST";
+
+ String SNAPSHOT_VERSION = "SNAPSHOT";
+
+ Pattern VERSION_FILE_PATTERN = Pattern.compile( "^(.*)-([0-9]{8}.[0-9]{6})-([0-9]+)$" );
+
// TODO: into scope handler
String SCOPE_COMPILE = "compile";
@@ -118,4 +126,6 @@
void setGroupId( String groupId );
void setArtifactId( String artifactId );
+
+ boolean isSnapshot();
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java Mon Jul 25 02:51:12 2005
@@ -1,5 +1,21 @@
package org.apache.maven.artifact;
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
@@ -7,11 +23,11 @@
public final class ArtifactUtils
{
-
+
private ArtifactUtils()
{
}
-
+
public static String versionlessKey( Artifact artifact )
{
return versionlessKey( artifact.getGroupId(), artifact.getArtifactId() );
@@ -21,42 +37,44 @@
{
return groupId + ":" + artifactId;
}
-
+
public static String artifactId( String groupId, String artifactId, String type, String version )
{
- return artifactId( groupId, artifactId, type, version, null, version );
+ return artifactId( groupId, artifactId, type, null, version );
}
-
- public static String artifactId( String groupId, String artifactId, String type, String version, String classifier, String baseVersion )
+
+ public static String artifactId( String groupId, String artifactId, String type, String classifier,
+ String baseVersion )
{
- return groupId + ":" + artifactId + ":" + type + ( ( classifier != null ) ? ( ":" + classifier ) : ( "" ) ) + ":" + baseVersion;
+ return groupId + ":" + artifactId + ":" + type + ( classifier != null ? ":" + classifier : "" ) + ":" +
+ baseVersion;
}
-
+
public static Map artifactMapByVersionlessId( Collection artifacts )
{
Map artifactMap = new HashMap();
-
+
for ( Iterator it = artifacts.iterator(); it.hasNext(); )
{
Artifact artifact = (Artifact) it.next();
-
+
artifactMap.put( versionlessKey( artifact ), artifact );
}
-
+
return artifactMap;
}
public static Map artifactMapByArtifactId( Collection artifacts )
{
Map artifactMap = new HashMap();
-
+
for ( Iterator it = artifacts.iterator(); it.hasNext(); )
{
Artifact artifact = (Artifact) it.next();
-
+
artifactMap.put( artifact.getId(), artifact );
}
-
+
return artifactMap;
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java Mon Jul 25 02:51:12 2005
@@ -27,6 +27,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.regex.Matcher;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
@@ -419,5 +420,19 @@
public void setArtifactId( String artifactId )
{
this.artifactId = artifactId;
+ }
+
+ public boolean isSnapshot()
+ {
+ Matcher m = VERSION_FILE_PATTERN.matcher( getBaseVersion() );
+ if ( m.matches() )
+ {
+ setBaseVersion( m.group( 1 ) + "-" + SNAPSHOT_VERSION );
+ return true;
+ }
+ else
+ {
+ return getVersion().endsWith( SNAPSHOT_VERSION ) || getVersion().equals( LATEST_VERSION );
+ }
}
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/AbstractArtifactMetadata.java Mon Jul 25 02:51:12 2005
@@ -37,11 +37,6 @@
this.filename = filename;
}
- public void setArtifact( Artifact artifact )
- {
- this.artifact = artifact;
- }
-
public String getFilename()
{
return filename;
@@ -71,4 +66,5 @@
{
return artifact.getBaseVersion();
}
+
}
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadata.java Mon Jul 25 02:51:12 2005
@@ -46,14 +46,6 @@
String getFilename();
/**
- * Set the associated artifact.
- *
- * @param artifact the artifact
- * @todo prefer not to have this, and just modify the artifacts as they are transformed
- */
- void setArtifact( Artifact artifact );
-
- /**
* Whether the artifact metadata exists.
* @return true or false
*/
@@ -71,4 +63,5 @@
String getVersion();
String getBaseVersion();
+
}
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=224707&r1=224706&r2=224707&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 Mon Jul 25 02:51:12 2005
@@ -17,31 +17,17 @@
*/
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
/**
- * TODO: describe
+ * Specifies the repository used for artifact handling.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id$
*/
public interface ArtifactRepository
{
- String SNAPSHOT_POLICY_NEVER = "never";
-
- String SNAPSHOT_POLICY_ALWAYS = "always";
-
- String SNAPSHOT_POLICY_DAILY = "daily";
-
- String SNAPSHOT_POLICY_INTERVAL = "interval";
-
- String CHECKSUM_POLICY_FAIL = "fail";
-
- String CHECKSUM_POLICY_WARN = "warn";
-
- String CHECKSUM_ALGORITHM_SHA1 = "SHA-1";
-
- String CHECKSUM_ALGORITHM_MD5 = "MD5";
String pathOf( Artifact artifact );
@@ -55,13 +41,13 @@
String getBasedir();
- String getSnapshotPolicy();
-
String getProtocol();
String getId();
- String getChecksumPolicy();
+ ArtifactRepositoryPolicy getSnapshots();
+
+ ArtifactRepositoryPolicy getReleases();
- boolean failOnChecksumMismatch();
+ ArtifactRepositoryLayout getLayout();
}
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=224707&r1=224706&r2=224707&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 Mon Jul 25 02:51:12 2005
@@ -23,14 +23,17 @@
*/
public interface ArtifactRepositoryFactory
{
+ String ROLE = ArtifactRepositoryFactory.class.getName();
- public static final String ROLE = ArtifactRepositoryFactory.class.getName();
+ ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout );
- public ArtifactRepository createArtifactRepository( String id, String url,
- ArtifactRepositoryLayout repositoryLayout,
- String snapshotPolicy, String checksumPolicy );
+ ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout,
+ ArtifactRepositoryPolicy snapshots,
+ ArtifactRepositoryPolicy releases );
+
+ void setGlobalUpdatePolicy( String snapshotPolicy );
- void setGlobalSnapshotPolicy( String snapshotPolicy );
-
void setGlobalChecksumPolicy( String checksumPolicy );
+
+ void setGlobalEnable( boolean enable );
}
Added: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java?rev=224707&view=auto
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java (added)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java Mon Jul 25 02:51:12 2005
@@ -0,0 +1,94 @@
+package org.apache.maven.artifact.repository;/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Describes a set of policies for a repository to use under certain conditions.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class ArtifactRepositoryPolicy
+{
+ public static final String UPDATE_POLICY_NEVER = "never";
+
+ public static final String UPDATE_POLICY_ALWAYS = "always";
+
+ public static final String UPDATE_POLICY_DAILY = "daily";
+
+ public static final String UPDATE_POLICY_INTERVAL = "interval";
+
+ public static final String CHECKSUM_POLICY_FAIL = "fail";
+
+ public static final String CHECKSUM_POLICY_WARN = "warn";
+
+ private boolean enabled;
+
+ private String updatePolicy;
+
+ private String checksumPolicy;
+
+ public ArtifactRepositoryPolicy()
+ {
+ this( true, null, null );
+ }
+
+ public ArtifactRepositoryPolicy( boolean enabled, String updatePolicy, String checksumPolicy )
+ {
+ this.enabled = enabled;
+
+ if ( updatePolicy == null )
+ {
+ updatePolicy = UPDATE_POLICY_DAILY;
+ }
+ this.updatePolicy = updatePolicy;
+
+ if ( checksumPolicy == null )
+ {
+ checksumPolicy = CHECKSUM_POLICY_WARN;
+ }
+ this.checksumPolicy = checksumPolicy;
+ }
+
+ public void setEnabled( boolean enabled )
+ {
+ this.enabled = enabled;
+ }
+
+ public void setUpdatePolicy( String updatePolicy )
+ {
+ this.updatePolicy = updatePolicy;
+ }
+
+ public void setChecksumPolicy( String checksumPolicy )
+ {
+ this.checksumPolicy = checksumPolicy;
+ }
+
+ public boolean isEnabled()
+ {
+ return enabled;
+ }
+
+ public String getUpdatePolicy()
+ {
+ return updatePolicy;
+ }
+
+ public String getChecksumPolicy()
+ {
+ return checksumPolicy;
+ }
+}
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformation.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformation.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformation.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/transform/ArtifactTransformation.java Mon Jul 25 02:51:12 2005
@@ -29,24 +29,24 @@
*/
public interface ArtifactTransformation
{
- static String ROLE = ArtifactTransformation.class.getName();
+ String ROLE = ArtifactTransformation.class.getName();
/**
* Take in a artifact and return the transformed artifact for locating in the remote repository. If no
* transformation has occured the original artifact is returned.
*
- * @param artifact Artifact to be transformed.
+ * @param artifact Artifact to be transformed.
* @param remoteRepositories the repositories to check
- * @param localRepository the local repository
+ * @param localRepository the local repository
*/
- public void transformForResolve( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository )
+ void transformForResolve( Artifact artifact, List remoteRepositories, ArtifactRepository localRepository )
throws ArtifactMetadataRetrievalException;
/**
* Take in a artifact and return the transformed artifact for locating in the local repository. If no
* transformation has occured the original artifact is returned.
*
- * @param artifact Artifact to be transformed.
+ * @param artifact Artifact to be transformed.
* @param localRepository the local repository it will be stored in
*/
void transformForInstall( Artifact artifact, ArtifactRepository localRepository )
@@ -56,7 +56,7 @@
* Take in a artifact and return the transformed artifact for distributing toa remote repository. If no
* transformation has occured the original artifact is returned.
*
- * @param artifact Artifact to be transformed.
+ * @param artifact Artifact to be transformed.
* @param remoteRepository the repository to deploy to
*/
void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository )
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java Mon Jul 25 02:51:12 2005
@@ -28,6 +28,7 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionRequest;
@@ -401,27 +402,26 @@
{
settings.setOffline( true );
- // TODO: this will still check to download if the artifact does not exist locally, instead of failing as it should in offline mode
- artifactRepositoryFactory.setGlobalSnapshotPolicy( ArtifactRepository.SNAPSHOT_POLICY_NEVER );
+ artifactRepositoryFactory.setGlobalEnable( false );
snapshotPolicySet = true;
}
if ( !snapshotPolicySet && commandLine.hasOption( CLIManager.UPDATE_SNAPSHOTS ) )
{
- artifactRepositoryFactory.setGlobalSnapshotPolicy( ArtifactRepository.SNAPSHOT_POLICY_ALWAYS );
+ artifactRepositoryFactory.setGlobalUpdatePolicy( ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS );
}
if ( commandLine.hasOption( CLIManager.CHECKSUM_FAILURE_POLICY ) )
{
System.out.println( "+ Enabling strict checksum verification on all artifact downloads." );
- artifactRepositoryFactory.setGlobalChecksumPolicy( ArtifactRepository.CHECKSUM_POLICY_FAIL );
+ artifactRepositoryFactory.setGlobalChecksumPolicy( ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL );
}
else if ( commandLine.hasOption( CLIManager.CHECKSUM_WARNING_POLICY ) )
{
System.out.println( "+ Disabling strict checksum verification on all artifact downloads." );
- artifactRepositoryFactory.setGlobalChecksumPolicy( ArtifactRepository.CHECKSUM_POLICY_WARN );
+ artifactRepositoryFactory.setGlobalChecksumPolicy( ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
}
return localRepository;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java Mon Jul 25 02:51:12 2005
@@ -158,7 +158,7 @@
{
// 1. resolve the version to be used
version = resolveMetaVersion( groupId, artifactId, project.getPluginArtifactRepositories(), localRepository,
- LatestArtifactTransformation.LATEST_VERSION );
+ Artifact.LATEST_VERSION );
if ( version != null )
{
Modified: maven/components/trunk/maven-model/maven.mdo
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/maven.mdo?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-model/maven.mdo (original)
+++ maven/components/trunk/maven-model/maven.mdo Mon Jul 25 02:51:12 2005
@@ -28,10 +28,8 @@
<p>This is a reference for the Maven project descriptor used in Maven.</p>
<p>An XSD is available at:</p>
<ul>
- <li><a href="http://maven.apache.org/maven-v3_0_0.xsd">http://maven.apache.org/maven-v3_0_0.xsd</a> for Maven 1.1
-.</li>
- <li><a href="http://maven.apache.org/maven-v4_0_0.xsd">http://maven.apache.org/maven-v4_0_0.xsd</a> for Maven 2.0
-.</li>
+ <li><a href="http://maven.apache.org/maven-v3_0_0.xsd">http://maven.apache.org/maven-v3_0_0.xsd</a> for Maven 1.1.</li>
+ <li><a href="http://maven.apache.org/maven-v4_0_0.xsd">http://maven.apache.org/maven-v4_0_0.xsd</a> for Maven 2.0.</li>
</ul>
]]></description>
<defaults>
@@ -1411,11 +1409,21 @@
<name>repository</name>
<version>4.0.0</version>
<description><![CDATA[
- Information needed for deploying to remote repository artifacts
+ Information needed for deploying to remote repository artifacts
generated by the project
]]></description>
<association>
- <type>Repository</type>
+ <type>RepositoryBase</type>
+ </association>
+ </field>
+ <field>
+ <name>snapshotRepository</name>
+ <version>4.0.0</version>
+ <description>
+ Where to deploy snapshots of artifacts to. If not given, it defaults to the repository.
+ </description>
+ <association>
+ <type>RepositoryBase</type>
</association>
</field>
<field>
@@ -1974,7 +1982,7 @@
</class>
<class>
- <name>Repository</name>
+ <name>RepositoryBase</name>
<version>4.0.0</version>
<description><![CDATA[
Repository contains the information needed
@@ -2006,16 +2014,6 @@
<type>String</type>
</field>
<field>
- <name>snapshotPolicy</name>
- <version>4.0.0</version>
- <description>
- The policy for downloading snapshots - can be "always", "daily" (default), "interval:XXX" (in minutes) or
- "never".
- </description>
- <type>String</type>
- <defaultValue>daily</defaultValue>
- </field>
- <field>
<name>layout</name>
<version>4.0.0</version>
<description>The type of layout this repository uses for locating and storing artifacts - can be "legacy" or
@@ -2023,14 +2021,6 @@
<type>String</type>
<defaultValue>default</defaultValue>
</field>
- <field>
- <name>checksumPolicy</name>
- <version>4.0.0</version>
- <description>What to do when verification of an artifact checksum fails - warn, fail, etc. Valid values are
- "fail" or "warn"</description>
- <type>String</type>
- <defaultValue>warn</defaultValue>
- </field>
</fields>
<codeSegments>
<codeSegment>
@@ -2038,7 +2028,7 @@
<code><![CDATA[
public boolean equals( Object obj )
{
- Repository other = ( Repository ) obj;
+ RepositoryBase other = (RepositoryBase) obj;
boolean retValue = false;
@@ -2053,6 +2043,95 @@
</codeSegment>
</codeSegments>
</class>
+
+ <class>
+ <name>Repository</name>
+ <superClass>RepositoryBase</superClass>
+ <version>4.0.0</version>
+ <description>
+ Repository contains the information needed for establishing connections with remote repoistory
+ </description>
+ <fields>
+ <!-- TODO: deprecated -->
+ <field>
+ <name>snapshotPolicy</name>
+ <version>4.0.0</version>
+ <description>
+ The policy for downloading snapshots - can be "always", "daily" (default), "interval:XXX" (in minutes) or
+ "never" (repository is not checked, even if the snapshot is not present locally).
+ </description>
+ <type>String</type>
+ </field>
+ <!-- TODO: deprecated -->
+ <field>
+ <name>checksumPolicy</name>
+ <version>4.0.0</version>
+ <description>What to do when verification of an artifact checksum fails - warn, fail, etc. Valid values are
+ "fail" or "warn"</description>
+ <type>String</type>
+ </field>
+ <field>
+ <name>releases</name>
+ <version>4.0.0</version>
+ <description>How to handle downloading of releases from this repository</description>
+ <association>
+ <type>RepositoryPolicy</type>
+ </association>
+ </field>
+ <field>
+ <name>snapshots</name>
+ <version>4.0.0</version>
+ <description>How to handle downloading of snapshots from this repository</description>
+ <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>RepositoryPolicy</name>
+ <version>4.0.0</version>
+ <description>Download policy</description>
+ <fields>
+ <field>
+ <name>enabled</name>
+ <version>4.0.0</version>
+ <description>Whether to use this repository for downloading this type of artifact</description>
+ <type>boolean</type>
+ <defaultValue>true</defaultValue>
+ </field>
+ <field>
+ <name>updatePolicy</name>
+ <version>4.0.0</version>
+ <description>
+ The frequency for downloading updates - can be "always", "daily" (default), "interval:XXX" (in minutes) or
+ "never" (only if it doesn't exist locally).
+ </description>
+ <type>String</type>
+ </field>
+ <field>
+ <name>checksumPolicy</name>
+ <version>4.0.0</version>
+ <description>What to do when verification of an artifact checksum fails - warn, fail, etc. Valid values are
+ "fail" or "warn"</description>
+ <type>String</type>
+ </field>
+ </fields>
+ </class>
+
<!--@todo find better solution for management of site deployments -->
<class>
<name>Site</name>
@@ -2390,7 +2469,7 @@
<field>
<name>activation</name>
<version>4.0.0</version>
- <description><![CDATA[The conditional logic which will automatically
+ <description><![CDATA[The conditional logic which will automatically
trigger the inclusion of this profile.]]></description>
<association>
<type>Activation</type>
Modified: maven/components/trunk/maven-plugins/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-deploy-plugin/src/main/java/org/apache/maven/plugin/deploy/DeployMojo.java Mon Jul 25 02:51:12 2005
@@ -32,6 +32,7 @@
/**
* Deploys an artifact to remote repository.
+ *
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
* @author <a href="mailto:jdcasey@apache.org">John Casey (refactoring only)</a>
* @version $Id$
@@ -105,17 +106,17 @@
private List attachedArtifacts;
/**
- * @parameter expression="${updateReleaseInfo}"
+ * @parameter expression="${updateReleaseInfo}" default-value="false"
*/
- private boolean updateReleaseInfo = false;
+ private boolean updateReleaseInfo;
public void execute()
throws MojoExecutionException
{
if ( deploymentRepository == null )
{
- String msg = "Deployment failed: repository element was not specified in the pom inside"
- + " distributionManagement element";
+ String msg = "Deployment failed: repository element was not specified in the pom inside" +
+ " distributionManagement element";
throw new MojoExecutionException( msg );
}
@@ -151,7 +152,7 @@
Artifact attached = (Artifact) i.next();
deployer.deploy( attached.getFile(), attached, deploymentRepository, localRepository );
}
- }
+ }
catch ( ArtifactDeploymentException e )
{
// TODO: deployment exception that does not give a trace
Modified: maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java?rev=224707&r1=224706&r2=224707&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/metadata/PluginMappingDeployMojo.java Mon Jul 25 02:51:12 2005
@@ -34,12 +34,13 @@
throws MojoExecutionException
{
RepositoryMetadata metadata = new PluginMappingMetadata( getProject().getGroupId() );
-
+
ArtifactRepository distributionRepository = getProject().getDistributionManagementArtifactRepository();
-
+
if ( distributionRepository == null )
{
- throw new MojoExecutionException( "No distribution repository specified. You must specify a <distributionManagement/> section with a valid <repository/> specified within." );
+ throw new MojoExecutionException(
+ "No distribution repository specified. You must specify a <distributionManagement/> section with a valid <repository/> specified within." );
}
try
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org