Author: hboutemy Date: Mon Mar 3 09:23:01 2008 New Revision: 633186 URL: http://svn.apache.org/viewvc?rev=633186&view=rev Log: [MANTTASKS-107] use repository defined in pom to download parent pom when defining pom reference
Modified: maven/ant-tasks/trunk/sample.build.xml maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java maven/ant-tasks/trunk/src/test/pom-with-parent.xml Modified: maven/ant-tasks/trunk/sample.build.xml URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/sample.build.xml?rev=633186&r1=633185&r2=633186&view=diff ============================================================================== --- maven/ant-tasks/trunk/sample.build.xml (original) +++ maven/ant-tasks/trunk/sample.build.xml Mon Mar 3 09:23:01 2008 @@ -489,5 +489,11 @@ <echo>Artifact ID = ${my.maven.project.artifactId}</echo> <echo>Parent Artifact ID = ${my.maven.project.parent.artifactId}</echo> + + <!-- MANTTASKS-107 repository defined in pom must be used to download parent pom --> + <delete dir="${basedir}/target/tmp"/> + <artifact:pom file="${user.dir}/src/test/pom-with-parent2.xml" id="my.maven.project2"> + <localRepository path="${basedir}/target/tmp"/> + </artifact:pom> </target> </project> Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java?rev=633186&r1=633185&r2=633186&view=diff ============================================================================== --- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java (original) +++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactWithRepositoryTask.java Mon Mar 3 09:23:01 2008 @@ -23,6 +23,7 @@ import java.util.Iterator; import java.util.List; +import org.apache.maven.model.Repository; import org.apache.tools.ant.Project; /** @@ -58,17 +59,36 @@ return (policy == null) || policy.isEnabled() ? "enabled" : "disabled"; } + protected List createRemoteArtifactRepositories() + { + return createRemoteArtifactRepositories( null ); + } + /** * Create the list of ArtifactRepository-ies where artifacts can be downloaded. If * no remote repository has been configured, adds central repository. + * @param pomRepositories additionnal repositories defined in pom (or null if none) * @return the list of ArtifactRepository-ies * @see #createRemoteArtifactRepository(RemoteRepository) */ - protected List createRemoteArtifactRepositories() + protected List createRemoteArtifactRepositories(List pomRepositories) { + List remoteRepositories = new ArrayList(); + remoteRepositories.addAll( getRemoteRepositories() ); + if ( getRemoteRepositories().isEmpty() ) { - addRemoteRepository( getDefaultRemoteRepository() ); + remoteRepositories.add( getDefaultRemoteRepository() ); + } + + if ( pomRepositories != null ) + { + for ( Iterator i = pomRepositories.iterator(); i.hasNext(); ) + { + Repository pomRepository = (Repository) i.next(); + + remoteRepositories.add( createAntRemoteRepository( pomRepository ) ); + } } log( "Using remote repositories:", Project.MSG_VERBOSE ); Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=633186&r1=633185&r2=633186&view=diff ============================================================================== --- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java (original) +++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java Mon Mar 3 09:23:01 2008 @@ -32,7 +32,6 @@ import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter; import org.apache.maven.artifact.resolver.filter.TypeArtifactFilter; import org.apache.maven.model.Dependency; -import org.apache.maven.model.Repository; import org.apache.maven.project.artifact.InvalidDependencyVersionException; import org.apache.maven.project.artifact.MavenMetadataSource; import org.apache.tools.ant.BuildException; @@ -112,13 +111,6 @@ pom = createDummyPom( localRepo ); } - for ( Iterator i = pom.getRepositories().iterator(); i.hasNext(); ) - { - Repository pomRepository = (Repository) i.next(); - - addRemoteRepository( createAntRemoteRepository( pomRepository ) ); - } - if ( dependencies.isEmpty() ) { log( "There were no dependencies specified", Project.MSG_WARN ); @@ -129,7 +121,7 @@ ArtifactResolutionResult result; Set artifacts; - List remoteArtifactRepositories = createRemoteArtifactRepositories(); + List remoteArtifactRepositories = createRemoteArtifactRepositories( pom.getRepositories() ); try { Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java?rev=633186&r1=633185&r2=633186&view=diff ============================================================================== --- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java (original) +++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java Mon Mar 3 09:23:01 2008 @@ -211,7 +211,7 @@ { MavenMetadataSource metadataSource = (MavenMetadataSource) lookup( ArtifactMetadataSource.ROLE ); ArtifactResolver resolver = (ArtifactResolver) lookup( ArtifactResolver.ROLE ); - List remoteRepositories = createRemoteArtifactRepositories(); + List remoteRepositories = createRemoteArtifactRepositories( model.getRepositories() ); resolver.resolveTransitively( Collections.singleton( parentArtifact ), createDummyArtifact(), createLocalArtifactRepository(), Modified: maven/ant-tasks/trunk/src/test/pom-with-parent.xml URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/test/pom-with-parent.xml?rev=633186&r1=633185&r2=633186&view=diff ============================================================================== --- maven/ant-tasks/trunk/src/test/pom-with-parent.xml (original) +++ maven/ant-tasks/trunk/src/test/pom-with-parent.xml Mon Mar 3 09:23:01 2008 @@ -1,4 +1,5 @@ -<project> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <parent> <artifactId>pom</artifactId> <groupId>it.ant-tasks</groupId>