Author: gboue
Date: Thu Aug 11 18:40:43 2016
New Revision: 1756026
URL: http://svn.apache.org/viewvc?rev=1756026&view=rev
Log:
Project remote repositories need to be considered when resolving artifacts, it
could be that a repository is only declared in the POM of the current project.
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/invoker.properties
(with props)
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/pom.xml
(with props)
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/its/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/its/dependency/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-copy/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-copy/1.0/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-copy/1.0/fake-remote-copy-1.0.jar
(with props)
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/verify.groovy
(with props)
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/invoker.properties
(with props)
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/pom.xml
(with props)
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/its/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/its/dependency/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-unpack/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-unpack/1.0/
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-unpack/1.0/fake-remote-unpack-1.0.jar
(with props)
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/verify.groovy
(with props)
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/it/mrm/settings.xml
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java
Modified: maven/plugins/trunk/maven-dependency-plugin/src/it/mrm/settings.xml
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/mrm/settings.xml?rev=1756026&r1=1756025&r2=1756026&view=diff
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/it/mrm/settings.xml
(original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/it/mrm/settings.xml Thu Aug
11 18:40:43 2016
@@ -24,7 +24,7 @@ under the License.
<id>mrm-maven-plugin</id>
<name>Mock Repository Manager</name>
<url>@repository.proxy.url@</url>
- <mirrorOf>*</mirrorOf>
+ <mirrorOf>*,!fake-remote-repository</mirrorOf>
</mirror>
</mirrors>
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/invoker.properties
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/invoker.properties?rev=1756026&view=auto
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/invoker.properties
(added)
+++
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/invoker.properties
Thu Aug 11 18:40:43 2016
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+invoker.goals = clean package
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/invoker.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/invoker.properties
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/pom.xml
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/pom.xml?rev=1756026&view=auto
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/pom.xml
(added)
+++
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/pom.xml
Thu Aug 11 18:40:43 2016
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you 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.
+ -->
+
+<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/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.dependency</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Test</name>
+ <description>
+ Test dependency:copy where the dependency is fetched from a repository
configured in the POM
+ </description>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>fake-remote-repository</id>
+ <url>file:///${basedir}/repo/</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>@project.version@</version>
+ <executions>
+ <execution>
+ <id>copy</id>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.maven.its.dependency</groupId>
+ <artifactId>fake-remote-copy</artifactId>
+ <version>1.0</version>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-copy/1.0/fake-remote-copy-1.0.jar
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-copy/1.0/fake-remote-copy-1.0.jar?rev=1756026&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-copy/1.0/fake-remote-copy-1.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/verify.groovy
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/verify.groovy?rev=1756026&view=auto
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/verify.groovy
(added)
+++
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/verify.groovy
Thu Aug 11 18:40:43 2016
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.io.*;
+
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.exists()
+assert buildLog.text.contains( "[INFO] Downloading: file:///" + basedir +
"/repo/org/apache/maven/its/dependency/fake-remote-copy/1.0/fake-remote-copy-1.0.jar"
)
+assert buildLog.text.contains( "[INFO] Downloaded: file:///" + basedir +
"/repo/org/apache/maven/its/dependency/fake-remote-copy/1.0/fake-remote-copy-1.0.jar"
)
+
+File copied = new File( basedir, 'target/dependency/fake-remote-copy-1.0.jar' )
+assert copied.exists()
+
+return true;
\ No newline at end of file
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/verify.groovy
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/copy-from-remote-repository/verify.groovy
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/invoker.properties
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/invoker.properties?rev=1756026&view=auto
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/invoker.properties
(added)
+++
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/invoker.properties
Thu Aug 11 18:40:43 2016
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+invoker.goals = clean package
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/invoker.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/invoker.properties
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/pom.xml
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/pom.xml?rev=1756026&view=auto
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/pom.xml
(added)
+++
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/pom.xml
Thu Aug 11 18:40:43 2016
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you 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.
+ -->
+
+<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/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.dependency</groupId>
+ <artifactId>test</artifactId>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Test</name>
+ <description>
+ Test dependency:unpack where the unpacked dependency is fetched from a
repository configured in the POM
+ </description>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <repositories>
+ <repository>
+ <id>fake-remote-repository</id>
+ <url>file:///${basedir}/repo/</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>@project.version@</version>
+ <executions>
+ <execution>
+ <id>unpack</id>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.maven.its.dependency</groupId>
+ <artifactId>fake-remote-unpack</artifactId>
+ <version>1.0</version>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-unpack/1.0/fake-remote-unpack-1.0.jar
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-unpack/1.0/fake-remote-unpack-1.0.jar?rev=1756026&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/repo/org/apache/maven/its/dependency/fake-remote-unpack/1.0/fake-remote-unpack-1.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/verify.groovy
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/verify.groovy?rev=1756026&view=auto
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/verify.groovy
(added)
+++
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/verify.groovy
Thu Aug 11 18:40:43 2016
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.io.*;
+
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.exists()
+assert buildLog.text.contains( "[INFO] Downloading: file:///" + basedir +
"/repo/org/apache/maven/its/dependency/fake-remote-unpack/1.0/fake-remote-unpack-1.0.jar"
)
+assert buildLog.text.contains( "[INFO] Downloaded: file:///" + basedir +
"/repo/org/apache/maven/its/dependency/fake-remote-unpack/1.0/fake-remote-unpack-1.0.jar"
)
+
+File unpacked = new File( basedir, 'target/dependency/META-INF/MANIFEST.MF' )
+assert unpacked.exists()
+
+return true;
\ No newline at end of file
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/verify.groovy
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/plugins/trunk/maven-dependency-plugin/src/it/projects/unpack-from-remote-repository/verify.groovy
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java?rev=1756026&r1=1756025&r2=1756026&view=diff
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java
Thu Aug 11 18:40:43 2016
@@ -25,6 +25,7 @@ import java.lang.reflect.Field;
import java.util.List;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
@@ -32,7 +33,9 @@ import org.apache.maven.plugin.MojoFailu
import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.dependency.utils.DependencySilentLog;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.ProjectBuildingRequest;
import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.UnArchiver;
import org.codehaus.plexus.archiver.manager.ArchiverManager;
@@ -79,6 +82,12 @@ public abstract class AbstractDependency
*/
@Parameter( defaultValue = "${project}", readonly = true, required = true )
private MavenProject project;
+
+ /**
+ * Remote repositories which will be searched for artifacts.
+ */
+ @Parameter( defaultValue = "${project.remoteArtifactRepositories}",
readonly = true, required = true )
+ private List<ArtifactRepository> remoteRepositories;
/**
* Contains the full list of projects in the reactor.
@@ -301,6 +310,20 @@ public abstract class AbstractDependency
}
/**
+ * @return Returns a new ProjectBuildingRequest populated from the current
session and the current project remote
+ * repositories, used to resolve artifacts.
+ */
+ public ProjectBuildingRequest newResolveArtifactProjectBuildingRequest()
+ {
+ ProjectBuildingRequest buildingRequest =
+ new DefaultProjectBuildingRequest(
session.getProjectBuildingRequest() );
+
+ buildingRequest.setRemoteRepositories( remoteRepositories );
+
+ return buildingRequest;
+ }
+
+ /**
* @return Returns the project.
*/
public MavenProject getProject()
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java?rev=1756026&r1=1756025&r2=1756026&view=diff
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java
Thu Aug 11 18:40:43 2016
@@ -34,7 +34,6 @@ import org.apache.maven.plugins.annotati
import org.apache.maven.plugins.dependency.AbstractDependencyMojo;
import org.apache.maven.plugins.dependency.utils.DependencyUtil;
import org.apache.maven.plugins.dependency.utils.filters.ArtifactItemFilter;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.shared.artifact.DefaultArtifactCoordinate;
@@ -220,19 +219,14 @@ public abstract class AbstractFromConfig
* ResolutionNode node = (ResolutionNode) iter.next(); artifact =
node.getArtifact(); }
*/
- ProjectBuildingRequest buildingRequest;
+ ProjectBuildingRequest buildingRequest =
newResolveArtifactProjectBuildingRequest();
if ( localRepositoryDirectory != null )
{
buildingRequest =
- repositoryManager.setLocalRepositoryBasedir(
session.getProjectBuildingRequest(),
-
localRepositoryDirectory );
+ repositoryManager.setLocalRepositoryBasedir(
buildingRequest, localRepositoryDirectory );
}
- else
- {
- buildingRequest = new DefaultProjectBuildingRequest(
session.getProjectBuildingRequest() );
- }
-
+
// Map dependency to artifact coordinate
DefaultArtifactCoordinate coordinate = new
DefaultArtifactCoordinate();
coordinate.setGroupId( artifactItem.getGroupId() );
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java?rev=1756026&r1=1756025&r2=1756026&view=diff
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java
Thu Aug 11 18:40:43 2016
@@ -35,7 +35,6 @@ import org.apache.maven.plugins.dependen
import org.apache.maven.plugins.dependency.utils.DependencyUtil;
import
org.apache.maven.plugins.dependency.utils.translators.ArtifactTranslator;
import
org.apache.maven.plugins.dependency.utils.translators.ClassifierTypeTranslator;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
@@ -372,9 +371,8 @@ public abstract class AbstractDependency
}
try
{
- ProjectBuildingRequest buildingRequest =
- new DefaultProjectBuildingRequest(
session.getProjectBuildingRequest() );
-
+ ProjectBuildingRequest buildingRequest =
newResolveArtifactProjectBuildingRequest();
+
Artifact resolvedArtifact =
artifactResolver.resolveArtifact( buildingRequest,
project.getArtifact() ).getArtifact();
@@ -468,8 +466,7 @@ public abstract class AbstractDependency
protected Set<Artifact> resolve( Set<ArtifactCoordinate> coordinates,
boolean stopOnFailure )
throws MojoExecutionException
{
- ProjectBuildingRequest buildingRequest =
- new DefaultProjectBuildingRequest(
session.getProjectBuildingRequest() );
+ ProjectBuildingRequest buildingRequest =
newResolveArtifactProjectBuildingRequest();
Set<Artifact> resolvedArtifacts = new HashSet<Artifact>();
for ( ArtifactCoordinate coordinate : coordinates )
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java?rev=1756026&r1=1756025&r2=1756026&view=diff
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java
Thu Aug 11 18:40:43 2016
@@ -30,7 +30,6 @@ import org.apache.maven.plugins.annotati
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.shared.artifact.DefaultArtifactCoordinate;
import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter;
@@ -300,8 +299,7 @@ public class CopyDependenciesMojo
// Resolve the pom artifact using repos
try
{
- ProjectBuildingRequest buildingRequest =
- new DefaultProjectBuildingRequest(
session.getProjectBuildingRequest() );
+ ProjectBuildingRequest buildingRequest =
newResolveArtifactProjectBuildingRequest();
pomArtifact = getArtifactResolver().resolveArtifact(
buildingRequest, coordinate ).getArtifact();
}
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java?rev=1756026&r1=1756025&r2=1756026&view=diff
==============================================================================
---
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java
(original)
+++
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java
Thu Aug 11 18:40:43 2016
@@ -27,7 +27,6 @@ import org.apache.maven.artifact.Artifac
import org.apache.maven.plugins.annotations.Parameter;
import
org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo;
import org.apache.maven.plugins.dependency.utils.DependencyUtil;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter;
@@ -155,8 +154,7 @@ public abstract class AbstractResolveMoj
protected Set<Artifact> resolveArtifactDependencies( final
DependableCoordinate artifact )
throws DependencyResolverException
{
- ProjectBuildingRequest buildingRequest =
- new DefaultProjectBuildingRequest(
session.getProjectBuildingRequest() );
+ ProjectBuildingRequest buildingRequest =
newResolveArtifactProjectBuildingRequest();
Iterable<ArtifactResult> artifactResults =
getDependencyResolver().resolveDependencies( buildingRequest,
artifact, null );