Repository: incubator-zeppelin Updated Branches: refs/heads/master e45cf3995 -> fd2a28853
ZEPPELIN-365: Add credentials for dependency loader Allow to authenticate to Artifactory or any other private maven repository using user/pass via the dependency loader Author: Patrick Ethier <[email protected]> Author: Patrick Ethier <[email protected]> Author: nuttybrewer <[email protected]> Closes #377 from nuttybrewer/master and squashes the following commits: 9745f24 [Patrick Ethier] Update Repository.java 8599240 [Patrick Ethier] Update Repository.java 70de3ec [Patrick Ethier] Update Repository.java 3e395bf [Patrick Ethier] Move to fluent API 6c858e8 [Patrick Ethier] Merge branch 'master' of github.com:apache/incubator-zeppelin 3dcfc1f [Patrick Ethier] Update Repository.java 361291a [Patrick Ethier] Update Repository.java 656266a [Patrick Ethier] Update Repository.java 1169f80 [Patrick Ethier] Update spark.md 5b8f357 [Patrick Ethier] Update Repository.java 10c342b [Patrick Ethier] Update DependencyContext.java 57ab930 [Patrick Ethier] Update Repository.java 2b98165 [Patrick Ethier] Update DependencyContext.java b93057d [nuttybrewer] remove return statement for coding style 0c9395c [Patrick Ethier] Merge branch 'master' of github.com:nuttybrewer/incubator-zeppelin e7ece92 [Patrick Ethier] Added addCredential() function to allow for authenticated repositories via dependency loader 0936e89 [Patrick Ethier] Added documentation for new addCredential() function Project: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/commit/fd2a2885 Tree: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/tree/fd2a2885 Diff: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/diff/fd2a2885 Branch: refs/heads/master Commit: fd2a28853ec83da975fdffba6f2a5ca198126d4d Parents: e45cf39 Author: Patrick Ethier <[email protected]> Authored: Wed Nov 4 20:15:33 2015 +0100 Committer: Lee moon soo <[email protected]> Committed: Sun Nov 8 09:25:15 2015 +0900 ---------------------------------------------------------------------- docs/docs/interpreter/spark.md | 3 +++ .../zeppelin/spark/dep/DependencyContext.java | 7 +++++ .../apache/zeppelin/spark/dep/Repository.java | 28 +++++++++++++++++++- 3 files changed, 37 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/fd2a2885/docs/docs/interpreter/spark.md ---------------------------------------------------------------------- diff --git a/docs/docs/interpreter/spark.md b/docs/docs/interpreter/spark.md index 871231c..06aee94 100644 --- a/docs/docs/interpreter/spark.md +++ b/docs/docs/interpreter/spark.md @@ -77,6 +77,9 @@ z.addRepo("RepoName").url("RepoURL") // add maven snapshot repository z.addRepo("RepoName").url("RepoURL").snapshot() +// add credentials for private maven repository +z.addRepo("RepoName").url("RepoURL).username("username").password("password") + // add artifact from filesystem z.load("/path/to.jar") http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/fd2a2885/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java ---------------------------------------------------------------------- diff --git a/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java b/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java index 0f465f1..834e518 100644 --- a/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java +++ b/spark/src/main/java/org/apache/zeppelin/spark/dep/DependencyContext.java @@ -21,6 +21,8 @@ import java.io.File; import java.net.MalformedURLException; import java.util.LinkedList; import java.util.List; +import java.util.Map; +import java.util.HashMap; import org.sonatype.aether.RepositorySystem; import org.sonatype.aether.RepositorySystemSession; @@ -28,6 +30,7 @@ import org.sonatype.aether.artifact.Artifact; import org.sonatype.aether.collection.CollectRequest; import org.sonatype.aether.graph.DependencyFilter; import org.sonatype.aether.repository.RemoteRepository; +import org.sonatype.aether.repository.Authentication; import org.sonatype.aether.resolution.ArtifactResolutionException; import org.sonatype.aether.resolution.ArtifactResult; import org.sonatype.aether.resolution.DependencyRequest; @@ -153,6 +156,10 @@ public class DependencyContext { for (Repository repo : repositories) { RemoteRepository rr = new RemoteRepository(repo.getName(), "default", repo.getUrl()); rr.setPolicy(repo.isSnapshot(), null); + Authentication auth = repo.getAuthentication(); + if (auth != null) { + rr.setAuthentication(auth); + } collectRequest.addRepository(rr); } http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/fd2a2885/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java ---------------------------------------------------------------------- diff --git a/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java b/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java index 49c6c9b..aee56b5 100644 --- a/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java +++ b/spark/src/main/java/org/apache/zeppelin/spark/dep/Repository.java @@ -16,7 +16,7 @@ */ package org.apache.zeppelin.spark.dep; - +import org.sonatype.aether.repository.Authentication; /** * * @@ -25,6 +25,8 @@ public class Repository { private boolean snapshot = false; private String name; private String url; + private String username = null; + private String password = null; public Repository(String name){ this.name = name; @@ -51,4 +53,28 @@ public class Repository { public String getUrl() { return url; } + + public Repository username(String username) { + this.username = username; + return this; + } + + public Repository password(String password) { + this.password = password; + return this; + } + + public Repository credentials(String username, String password) { + this.username = username; + this.password = password; + return this; + } + + protected Authentication getAuthentication() { + Authentication auth = null; + if (this.username != null && this.password != null) { + auth = new Authentication(this.username, this.password); + } + return auth; + } }
