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.