IMPORTANT

Apache Zeppelin (incubating) is an Apache2 License Software. Any contribution to Zeppelin (Source code, Documents, Image, Website) means you agree license all your contributions as Apache2 License.

Setting up

Here are some things you will need to do to build and test Zeppelin.

Software Configuration Management(SCM)

Zeppelin uses Git for it's SCM system. Hosted by github.com. https://github.com/apache/incubator-zeppelin You'll need git client installed in your development machine.

Integrated Development Environment(IDE)

You are free to use whatever IDE you prefer, or your favorite command line editor.

Build Tools

To build the code, install Oracle Java 7 Apache Maven

Getting the source code

First of all, you need the Zeppelin source code. The official location for Zeppelin is https://github.com/apache/incubator-zeppelin

git access

Get the source code on your development machine using git.

git clone https://github.com/apache/incubator-zeppelin.git zeppelin

You may also want to develop against a specific release. For example, for branch-0.1

git clone -b branch-0.1 https://github.com/apache/incubator-zeppelin.git zeppelin

Fork repository

If you want not only build Zeppelin but also make changes, then you need to fork Zeppelin repository and make pull request.

Build

mvn install

To skip test

mvn install -DskipTests

To build with specific spark / hadoop version

mvn install -Dspark.version=1.0.1 -Dhadoop.version=2.2.0

Run Zeppelin server in development mode

cd zeppelin-server
HADOOP_HOME=YOUR_HADOOP_HOME JAVA_HOME=YOUR_JAVA_HOME mvn exec:java -Dexec.mainClass="org.apache.zeppelin.server.ZeppelinServer" -Dexec.args=""

NOTE: make sure you first run mvn clean install -DskipTests on your zeppelin root directory otherwise your server build will fail to find the required dependencies in the local repro

or use daemon script

bin/zeppelin-daemon start

Server will be run on http://localhost:8080

Generating Thrift Code

Some portions of the Zeppelin code are generated by Thrift. For most Zeppelin changes, you don't need to worry about this, but if you modify any of the Thrift IDL files (e.g. zeppelin-interpreter/src/main/thrift/*.thrift), then you also need to regenerate these files and submit their updated version as part of your patch.

To regenerate the code, install thrift-0.9.0 and change directory into Zeppelin source directory. and then run following command

thrift -out zeppelin-interpreter/src/main/java/ --gen java zeppelin-interpreter/src/main/thrift/RemoteInterpreterService.thrift

JIRA

Zeppelin manages its issues in Jira. https://issues.apache.org/jira/browse/ZEPPELIN

Stay involved

Contributors should join the Zeppelin mailing lists.