This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new 8bd6f02  Specify repo in MavenClassLoader
8bd6f02 is described below

commit 8bd6f0270fdb36de3c7b7e0bf92eb48d39bdf52e
Author: Ivan Kelly <iv...@apache.org>
AuthorDate: Thu Feb 15 02:09:31 2018 +0800

    Specify repo in MavenClassLoader
    
    This is required for testing yahoo's custom bookkeeper client, as it
    doesn't reside in maven central.
    
    Author: Ivan Kelly <iv...@apache.org>
    
    Reviewers: Enrico Olivelli <eolive...@gmail.com>, Sijie Guo 
<si...@apache.org>
    
    This closes #1135 from ivankelly/classloader-repo
---
 .../org/apache/bookkeeper/tests/MavenClassLoader.java     | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git 
a/tests/integration-tests-utils/src/main/java/org/apache/bookkeeper/tests/MavenClassLoader.java
 
b/tests/integration-tests-utils/src/main/java/org/apache/bookkeeper/tests/MavenClassLoader.java
index 6f31f5c..a7091be 100644
--- 
a/tests/integration-tests-utils/src/main/java/org/apache/bookkeeper/tests/MavenClassLoader.java
+++ 
b/tests/integration-tests-utils/src/main/java/org/apache/bookkeeper/tests/MavenClassLoader.java
@@ -31,6 +31,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
 
+import org.jboss.shrinkwrap.resolver.api.maven.ConfigurableMavenResolverSystem;
 import org.jboss.shrinkwrap.resolver.api.maven.Maven;
 import org.jboss.shrinkwrap.resolver.api.maven.ScopeType;
 import org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependencies;
@@ -48,8 +49,18 @@ public class MavenClassLoader implements AutoCloseable {
 
     private final URLClassLoader classloader;
 
+    public static MavenClassLoader forArtifact(String repo, String 
mainArtifact) throws Exception {
+        return 
createClassLoader(Maven.configureResolver().withRemoteRepo("custom", repo, 
"default"),
+                                 mainArtifact);
+    }
+
     public static MavenClassLoader forArtifact(String mainArtifact) throws 
Exception {
-        Optional<String> slf4jVersion = 
Arrays.stream(Maven.resolver().resolve(mainArtifact)
+        return createClassLoader(Maven.configureResolver(), mainArtifact);
+    }
+
+    private static MavenClassLoader 
createClassLoader(ConfigurableMavenResolverSystem resolver,
+                                                      String mainArtifact) 
throws Exception {
+        Optional<String> slf4jVersion = 
Arrays.stream(resolver.resolve(mainArtifact)
                                                       
.withTransitivity().asResolvedArtifact())
             .filter((a) -> a.getCoordinate().getGroupId().equals("org.slf4j")
                     && 
a.getCoordinate().getArtifactId().equals("slf4j-log4j12"))
@@ -66,7 +77,7 @@ public class MavenClassLoader implements AutoCloseable {
                                                         ScopeType.COMPILE, 
false));
         }
 
-        File[] files = Maven.resolver().addDependencies(deps.toArray(new 
MavenDependency[0]))
+        File[] files = resolver.addDependencies(deps.toArray(new 
MavenDependency[0]))
             .resolve().withTransitivity().asFile();
         URLClassLoader cl = AccessController.doPrivileged(
                 new PrivilegedAction<URLClassLoader>() {

-- 
To stop receiving notification emails like this one, please contact
si...@apache.org.

Reply via email to