Author: brett
Date: Tue Jun 7 18:49:48 2005
New Revision: 189489
URL: http://svn.apache.org/viewcvs?rev=189489&view=rev
Log:
PR: MNG-440
support "servers" element from settings for obtaining authentication info
Modified:
maven/components/trunk/maven-artifact-ant/sample.build.xml
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/Authentication.java
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.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-ant/src/main/java/org/apache/maven/artifact/ant/Repository.java
Modified: maven/components/trunk/maven-artifact-ant/sample.build.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/sample.build.xml?rev=189489&r1=189488&r2=189489&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/sample.build.xml (original)
+++ maven/components/trunk/maven-artifact-ant/sample.build.xml Tue Jun 7
18:49:48 2005
@@ -32,18 +32,15 @@
</copy>
<artifact:install file="target/maven-artifact-ant-2.0-SNAPSHOT.jar">
- <localRepository refid="local.repository"/>
<pom refid="maven.project"/>
</artifact:install>
<artifact:deploy file="target/maven-artifact-ant-2.0-SNAPSHOT.jar">
- <localRepository refid="local.repository"/>
<remoteRepository refid="deploy.repository"/>
<pom refid="maven.project"/>
</artifact:deploy>
<artifact:deploy file="target/maven-artifact-ant-2.0-SNAPSHOT.jar">
- <localRepository refid="local.repository"/>
<remoteRepository url="scp://localhost/tmp/deployment-repo">
<authentication username="brett"
privateKey="${user.home}/.ssh/id_dsa"/>
</remoteRepository>
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=189489&r1=189488&r2=189489&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
Tue Jun 7 18:49:48 2005
@@ -19,6 +19,7 @@
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.settings.Server;
import org.apache.maven.settings.Settings;
import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
import org.apache.tools.ant.BuildException;
@@ -72,7 +73,17 @@
authentication.getPrivateKey(),
authentication.getPassphrase() );
}
- return new ArtifactRepository( "remote", repository.getUrl(),
repositoryLayout );
+ ArtifactRepository artifactRepository;
+ if ( repository.getSnapshotPolicy() != null )
+ {
+ artifactRepository = new ArtifactRepository( "remote",
repository.getUrl(), repositoryLayout,
+
repository.getSnapshotPolicy() );
+ }
+ else
+ {
+ artifactRepository = new ArtifactRepository( "remote",
repository.getUrl(), repositoryLayout );
+ }
+ return artifactRepository;
}
protected Object lookup( String role )
@@ -176,5 +187,20 @@
}
}
return settings;
+ }
+
+ protected RemoteRepository createAntRemoteRepository(
org.apache.maven.model.Repository pomRepository )
+ {
+ RemoteRepository r = new RemoteRepository();
+ r.setUrl( pomRepository.getUrl() );
+ r.setSnapshotPolicy( pomRepository.getSnapshotPolicy() );
+ r.setLayout( pomRepository.getLayout() );
+
+ Server server = getSettings().getServer( pomRepository.getId() );
+ if ( server != null )
+ {
+ r.addAuthentication( new Authentication( server ) );
+ }
+ return r;
}
}
Modified:
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Authentication.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Authentication.java?rev=189489&r1=189488&r2=189489&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Authentication.java
(original)
+++
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Authentication.java
Tue Jun 7 18:49:48 2005
@@ -1,7 +1,5 @@
package org.apache.maven.artifact.ant;
-import org.apache.maven.wagon.authentication.AuthenticationInfo;
-
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
@@ -18,6 +16,9 @@
* limitations under the License.
*/
+import org.apache.maven.wagon.authentication.AuthenticationInfo;
+import org.apache.maven.settings.Server;
+
/**
* Ant Wrapper for wagon authentication.
*
@@ -27,4 +28,16 @@
public class Authentication
extends AuthenticationInfo
{
+ public Authentication()
+ {
+ super();
+ }
+
+ public Authentication( Server server )
+ {
+ setUserName( server.getUsername() );
+ setPassword( server.getPassword() );
+ setPassphrase( server.getPassphrase() );
+ setPrivateKey( server.getPrivateKey() );
+ }
}
Modified:
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=189489&r1=189488&r2=189489&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
(original)
+++
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
Tue Jun 7 18:49:48 2005
@@ -82,6 +82,13 @@
pom.initialise( projectBuilder, localRepo );
dependencies = pom.getDependencies();
+
+ for ( Iterator i = pom.getRepositories().iterator(); i.hasNext(); )
+ {
+ org.apache.maven.model.Repository pomRepository =
(org.apache.maven.model.Repository) i.next();
+
+ remoteRepositories.add( createAntRemoteRepository(
pomRepository ) );
+ }
}
Set artifacts = metadataSource.createArtifacts( dependencies, null,
null );
@@ -94,7 +101,7 @@
ArtifactResolutionResult result;
try
{
- List remoteArtifactRepositories =
createRemoteArtifactRepositories();
+ List remoteArtifactRepositories =
createRemoteArtifactRepositories( getRemoteRepositories() );
result = resolver.resolveTransitively( artifacts,
remoteArtifactRepositories, localRepo, metadataSource );
}
catch ( ArtifactResolutionException e )
@@ -152,10 +159,10 @@
}
}
- private List createRemoteArtifactRepositories()
+ private List createRemoteArtifactRepositories( List remoteRepositories )
{
List list = new ArrayList();
- for ( Iterator i = getRemoteRepositories().iterator(); i.hasNext(); )
+ for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
{
list.add( createRemoteArtifactRepository( (RemoteRepository)
i.next() ) );
}
@@ -166,6 +173,7 @@
{
if ( remoteRepositories.isEmpty() )
{
+ // TODO: could we utilise the super POM for this?
RemoteRepository remoteRepository = new RemoteRepository();
remoteRepository.setUrl( "http://repo1.maven.org/maven2" );
remoteRepositories.add( remoteRepository );
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=189489&r1=189488&r2=189489&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
Tue Jun 7 18:49:48 2005
@@ -52,8 +52,23 @@
localRepository = getDefaultLocalRepository();
}
+ if ( pom == null )
+ {
+ throw new BuildException( "A POM element is required to deploy to
the repository" );
+ }
+
ArtifactRepository localRepo = createLocalArtifactRepository(
localRepository );
pom.initialise( (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE
), localRepo );
+
+ if ( remoteRepository == null )
+ {
+ if ( pom.getDistributionManagement() == null ||
pom.getDistributionManagement().getRepository() == null )
+ {
+ throw new BuildException( "A distributionManagement element is
required in your POM to deploy" );
+ }
+
+ remoteRepository = createAntRemoteRepository(
pom.getDistributionManagement().getRepository() );
+ }
ArtifactRepository deploymentRepository =
createRemoteArtifactRepository( 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=189489&r1=189488&r2=189489&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
Tue Jun 7 18:49:48 2005
@@ -29,6 +29,8 @@
private Authentication authentication;
+ private String snapshotPolicy;
+
public String getUrl()
{
return ( (RemoteRepository) getInstance() ).url;
@@ -47,5 +49,15 @@
public void addAuthentication( Authentication authentication )
{
this.authentication = authentication;
+ }
+
+ public void setSnapshotPolicy( String snapshotPolicy )
+ {
+ this.snapshotPolicy = snapshotPolicy;
+ }
+
+ public String getSnapshotPolicy()
+ {
+ return snapshotPolicy;
}
}
Modified:
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Repository.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Repository.java?rev=189489&r1=189488&r2=189489&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Repository.java
(original)
+++
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Repository.java
Tue Jun 7 18:49:48 2005
@@ -24,7 +24,8 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Brett Porter</a>
* @version $Id$
*/
-public abstract class Repository extends ProjectComponent
+public abstract class Repository
+ extends ProjectComponent
{
private String refid;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]