GitHub user minahlee opened a pull request:

    https://github.com/apache/incubator-zeppelin/pull/673

    [WIP][Zeppelin-630] Introduce new way of dependency loading to intepreter

    ### What is this PR for?
    With this PR user will be able to set external libraries to be loaded to 
specific interpreter.
    
    Note that the scope of this PR is downloading libraries to local 
repository, not distributing them to other nodes. Only spark interpreter 
distributes loaded dependencies to worker nodes at the moment. 
    
    Here is a brief explanation how the code works.
    1. get rest api request for interpreter dependency setting from front-end
    2. download the libraries in `ZEPPELIN_HOME/local-repo` and copy them to 
`ZEPPELIN_HOME/local-repo/{interpreterId}`
    3. `ZEPPELIN_HOME/local-repo/{interpreterId}/*.jar` are adde to interpreter 
classpath when interpreter process starts
    
    ### What type of PR is it?
    Improvement
    
    ### Todos
    * [ ] Add tests
    * [ ] Update docs
    
    ### Is there a relevant Jira issue?
    https://issues.apache.org/jira/browse/ZEPPELIN-630
    
    ### How should this be tested?
    Outline the steps to test the PR here.
    
    ### Screenshots (if appropriate)
    * Toggle repository list
    <img width="1146" alt="screen shot 2016-01-25 at 12 24 44 pm" 
src="https://cloud.githubusercontent.com/assets/8503346/12563475/52f060ac-c35f-11e5-8621-d8eb97b4d6a1.png";>
    
    * Add new repository
    <img width="1146" alt="screen shot 2016-01-25 at 12 25 23 pm" 
src="https://cloud.githubusercontent.com/assets/8503346/12563472/52eb545e-c35f-11e5-9050-a5306d2765f1.png";>
    
    * Show repository info
    <img width="1146" alt="screen shot 2016-01-25 at 12 25 28 pm" 
src="https://cloud.githubusercontent.com/assets/8503346/12563473/52ebab84-c35f-11e5-9acb-3a356c855dc7.png";>
    
    * Interpreter dependency
    <img width="1146" alt="screen shot 2016-01-25 at 12 27 27 pm" 
src="https://cloud.githubusercontent.com/assets/8503346/12563471/52eadd9e-c35f-11e5-8e1a-f583ea8800aa.png";>
    
    ### Questions:
    * Does the licenses files need update? No
    * Is there breaking changes for older versions? 
      - For the users who use rest api for creat/update interpreter setting, 
`dependencies` object should be added to request payload.
      - %dep interpreter is deprecated. The functionality is still there, but 
recommend to load third party dependency via interpreter menu.
      
    * Does this needs documentation? Yes

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/minahlee/incubator-zeppelin ZEPPELIN-630

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-zeppelin/pull/673.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #673
    
----
commit 848d931916429646cc34f2565fda1d2c02a7deb7
Author: Mina Lee <[email protected]>
Date:   2016-01-20T02:02:11Z

    Make external libraries to be added to interpreter process classpath

commit 2cd715c4870451a67c290be5122fb6d038873e3c
Author: Mina Lee <[email protected]>
Date:   2016-01-20T02:11:21Z

    Add env variable/property to configuration template files

commit 37005c5a80e1c84af498955aac151143adca8ca7
Author: Mina Lee <[email protected]>
Date:   2016-01-20T05:27:39Z

    Remove unused methods and add deprecated message for dep interpreter

commit 1b6a8186e04150a5d65761123a0ec6572348609f
Author: Mina Lee <[email protected]>
Date:   2016-01-20T06:33:10Z

    Remove test with unused ZeppelinContext load() method

commit d5c931b91976d1a0f7b8bf8714f0a0a35a3d69b3
Author: Mina Lee <[email protected]>
Date:   2016-01-21T05:17:17Z

    Fix test after rebase

commit fe9cb92f574b7f88148bbb9bc011534be17ae554
Author: Mina Lee <[email protected]>
Date:   2016-01-23T21:01:17Z

    Enable adding interpreter dependency via GUI

commit bae0c02f11a9b4d702b21acda08cb20bfd00daa0
Author: Mina Lee <[email protected]>
Date:   2016-01-25T20:00:08Z

    * Fix DependencyResolver addRepo/delRepo method
    * Manage repository information in `conf/interpreter.json`
    * Front-end modification to manage repository list
    * Add RestApi for adding/deleting repository
    * Fix tests

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to