zeppelin-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zjf...@apache.org
Subject svn commit: r1851877 [7/46] - in /zeppelin/site/docs: 0.8.1/ 0.8.1/assets/ 0.8.1/assets/themes/ 0.8.1/assets/themes/zeppelin/ 0.8.1/assets/themes/zeppelin/bootstrap/ 0.8.1/assets/themes/zeppelin/bootstrap/css/ 0.8.1/assets/themes/zeppelin/bootstrap/fon...
Date Wed, 23 Jan 2019 04:28:05 GMT
Added: zeppelin/site/docs/0.8.1/development/contribution/how_to_contribute_code.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.1/development/contribution/how_to_contribute_code.html?rev=1851877&view=auto
==============================================================================
--- zeppelin/site/docs/0.8.1/development/contribution/how_to_contribute_code.html (added)
+++ zeppelin/site/docs/0.8.1/development/contribution/how_to_contribute_code.html Wed Jan 23 04:28:00 2019
@@ -0,0 +1,413 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.8.0 Documentation: Contributing to Apache Zeppelin (Code)</title>
+    <meta name="description" content="How can you contribute to Apache Zeppelin project? This document covers from setting up your develop environment to making a pull request on Github.">
+    <meta name="author" content="The Apache Software Foundation">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
+
+    <!-- Le styles -->
+    <link href="/docs/0.8.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.8.0/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.8.0/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <!-- Le fav and touch icons -->
+    <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- Js -->
+    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.8.0/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.8.0/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+  </head>
+
+  <body>
+    
+        <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+      <div class="container navbar-container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-brand">
+            <a class="navbar-brand-main" href="http://zeppelin.apache.org">
+              <img src="/docs/0.8.0/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+                   style="margin-top: -2px;" alt="I'm zeppelin">
+              <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
+              <a class="navbar-brand-version" href="/docs/0.8.0"
+                 style="font-size: 15px; color: white;"> 0.8.0
+              </a>
+            </a>
+          </div>
+        </div>
+        <nav class="navbar-collapse collapse" role="navigation">
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Getting Started</span></li>
+                <li><a href="/docs/0.8.0/quickstart/install.html">Install</a></li>
+                <li><a href="/docs/0.8.0/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/docs/0.8.0/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Dynamic Form</span></li>
+                <li><a href="/docs/0.8.0/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Display System</span></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#network">Network Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Interpreter</span></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/docs/0.8.0/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/docs/0.8.0/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Other Features</span></li>
+                <li><a href="/docs/0.8.0/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/notebook_actions.html">Notebook Actions</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>REST API</span></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/helium.html">Helium API</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Basics</span></li>
+                <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Deployment</span></li>
+                <!--<li><a href="/docs/0.8.0/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Security</span></li>
+                <li><a href="/docs/0.8.0/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/docs/0.8.0/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/docs/0.8.0/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.8.0/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.8.0/setup/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Notebook Storage</span></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Operation</span></li>
+                <li><a href="/docs/0.8.0/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Interpreters</span></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/interpreter/spark.html">Spark</a></li>
+                <li><a href="/docs/0.8.0/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.8.0/interpreter/python.html">Python</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.8.0/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.8.0/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.8.0/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.8.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.8.0/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.8.0/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.8.0/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.8.0/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.8.0/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.8.0/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.8.0/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.8.0/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.8.0/interpreter/neo4j.html">Neo4j</a></li>
+                <li><a href="/docs/0.8.0/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.8.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.8.0/interpreter/r.html">R</a></li>
+                <li><a href="/docs/0.8.0/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.8.0/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.8.0/interpreter/shell.html">Shell</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
+                <li class="title"><span>Extending Zeppelin</span></li>
+                <li><a href="/docs/0.8.0/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Helium (Experimental)</span></li>
+                <li><a href="/docs/0.8.0/development/helium/overview.html">Overview</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Contributing to Zeppelin</span></li>
+                <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>External Resources</span></li>
+                <li><a target="_blank" href="">Mailing List</a></li>
+                <li><a target="_blank" href="">Apache Zeppelin Wiki</a></li>
+                <li><a target="_blank" href="">Stackoverflow Questions about Zeppelin</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/docs/0.8.0/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Contributing to Apache Zeppelin (Code)">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<h1>Contributing to Apache Zeppelin ( Code )</h1>
+
+<div id="toc"></div>
+
+<blockquote>
+<p><strong>NOTE :</strong> Apache Zeppelin is an <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache2 License</a> Software.
+Any contributions to Zeppelin (Source code, Documents, Image, Website) means you agree with license all your contributions as Apache2 License.</p>
+</blockquote>
+
+<h2>Setting up</h2>
+
+<p>Here are some tools you will need to build and test Zeppelin.</p>
+
+<h4>Software Configuration Management ( SCM )</h4>
+
+<p>Since Zeppelin uses Git for it&#39;s SCM system, you need git client installed in your development machine.</p>
+
+<h4>Integrated Development Environment ( IDE )</h4>
+
+<p>You are free to use whatever IDE you prefer, or your favorite command line editor.</p>
+
+<h4>Build Tools</h4>
+
+<p>To build the code, install</p>
+
+<ul>
+<li>Oracle Java 7</li>
+<li>Apache Maven</li>
+</ul>
+
+<h2>Getting the source code</h2>
+
+<p>First of all, you need Zeppelin source code. The official location of Zeppelin is <a href="http://git.apache.org/zeppelin.git">http://git.apache.org/zeppelin.git</a>.</p>
+
+<h3>git access</h3>
+
+<p>Get the source code on your development machine using git.</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">git clone git://git.apache.org/zeppelin.git zeppelin
+</code></pre></div>
+<p>You may also want to develop against a specific branch. For example, for branch-0.5.6</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">git clone -b branch-0.5.6 git://git.apache.org/zeppelin.git zeppelin
+</code></pre></div>
+<p>Apache Zeppelin follows <a href="https://github.com/sevntu-checkstyle/sevntu.checkstyle/wiki/Development-workflow-with-Git:-Fork,-Branching,-Commits,-and-Pull-Request">Fork &amp; Pull</a> as a source control workflow.
+If you want to not only build Zeppelin but also make any changes, then you need to fork <a href="https://github.com/apache/zeppelin">Zeppelin github mirror repository</a> and make a pull request.</p>
+
+<p>Before making a pull request, please take a look <a href="http://zeppelin.apache.org/contribution/contributions.html">Contribution Guidelines</a>.</p>
+
+<h3>Build</h3>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">mvn install
+</code></pre></div>
+<p>To skip test</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">mvn install -DskipTests
+</code></pre></div>
+<p>To build with specific spark / hadoop version</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">mvn install -Dspark.version<span class="o">=</span>x.x.x -Dhadoop.version<span class="o">=</span>x.x.x
+</code></pre></div>
+<p>For the further </p>
+
+<h3>Run Zeppelin server in development mode</h3>
+
+<h4>Option 1 - Command Line</h4>
+
+<ol>
+<li>Copy the <code>conf/zeppelin-site.xml.template</code> to <code>zeppelin-server/src/main/resources/zeppelin-site.xml</code> and change the configurations in this file if required</li>
+<li>Run the following command</li>
+</ol>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"><span class="nb">cd </span>zeppelin-server
+<span class="nv">HADOOP_HOME</span><span class="o">=</span>YOUR_HADOOP_HOME <span class="nv">JAVA_HOME</span><span class="o">=</span>YOUR_JAVA_HOME <span class="se">\</span>
+mvn <span class="nb">exec</span>:java -Dexec.mainClass<span class="o">=</span><span class="s2">&quot;org.apache.zeppelin.server.ZeppelinServer&quot;</span> -Dexec.args<span class="o">=</span><span class="s2">&quot;&quot;</span>
+</code></pre></div>
+<h4>Option 2 - Daemon Script</h4>
+
+<blockquote>
+<p><strong>Note:</strong> Make sure you first run </p>
+</blockquote>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">mvn clean install -DskipTests
+</code></pre></div>
+<p>in your zeppelin root directory, otherwise your server build will fail to find the required dependencies in the local repro.</p>
+
+<p>or use daemon script</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">bin/zeppelin-daemon start
+</code></pre></div>
+<p>Server will be run on <a href="http://localhost:8080">http://localhost:8080</a>.</p>
+
+<h4>Option 3 - IDE</h4>
+
+<ol>
+<li>Copy the <code>conf/zeppelin-site.xml.template</code> to <code>zeppelin-server/src/main/resources/zeppelin-site.xml</code> and change the configurations in this file if required</li>
+<li><code>ZeppelinServer.java</code> Main class</li>
+</ol>
+
+<h3>Generating Thrift Code</h3>
+
+<p>Some portions of the Zeppelin code are generated by <a href="http://thrift.apache.org">Thrift</a>. For most Zeppelin changes, you don&#39;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.</p>
+
+<p>To regenerate the code, install <strong>thrift-0.9.2</strong> and then run the following command to generate thrift code.</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"><span class="nb">cd</span> &lt;zeppelin_home&gt;/zeppelin-interpreter/src/main/thrift
+./genthrift.sh
+</code></pre></div>
+<h3>Run Selenium test</h3>
+
+<p>Zeppelin has <a href="https://github.com/apache/zeppelin/tree/master/zeppelin-server/src/test/java/org/apache/zeppelin/integration">set of integration tests</a> using Selenium. To run these test, first build and run Zeppelin and make sure Zeppelin is running on port 8080. Then you can run test using following command</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"><span class="nv">TEST_SELENIUM</span><span class="o">=</span><span class="nb">true </span>mvn <span class="nb">test</span> -Dtest<span class="o">=[</span>TEST_NAME<span class="o">]</span> -DfailIfNoTests<span class="o">=</span><span class="nb">false</span> <span class="se">\</span>
+-pl <span class="s1">&#39;zeppelin-interpreter,zeppelin-zengine,zeppelin-server&#39;</span>
+</code></pre></div>
+<p>For example, to run <a href="https://github.com/apache/zeppelin/blob/master/zeppelin-server/src/test/java/org/apache/zeppelin/integration/ParagraphActionsIT.java">ParagraphActionIT</a>,</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"><span class="nv">TEST_SELENIUM</span><span class="o">=</span><span class="nb">true </span>mvn <span class="nb">test</span> -Dtest<span class="o">=</span>ParagraphActionsIT -DfailIfNoTests<span class="o">=</span><span class="nb">false</span> <span class="se">\</span>
+-pl <span class="s1">&#39;zeppelin-interpreter,zeppelin-zengine,zeppelin-server&#39;</span>
+</code></pre></div>
+<p>You&#39;ll need Firefox web browser installed in your development environment. While CI server uses <a href="https://ftp.mozilla.org/pub/firefox/releases/31.0/">Firefox 31.0</a> to run selenium test, it is good idea to install the same version (disable auto update to keep the version).</p>
+
+<h2>Where to Start</h2>
+
+<p>You can find issues for <a href="https://issues.apache.org/jira/browse/ZEPPELIN-981?jql=project%20%3D%20ZEPPELIN%20AND%20labels%20in%20(beginner%2C%20newbie)">beginner &amp; newbie</a></p>
+
+<h2>Stay involved</h2>
+
+<p>Contributors should join the Zeppelin mailing lists.</p>
+
+<ul>
+<li><a href="http://mail-archives.apache.org/mod_mbox/zeppelin-dev/">dev@zeppelin.apache.org</a> is for people who want to contribute code to Zeppelin. <a href="mailto:dev-subscribe@zeppelin.apache.org?subject=send%20this%20email%20to%20subscribe">subscribe</a>, <a href="mailto:dev-unsubscribe@zeppelin.apache.org?subject=send%20this%20email%20to%20unsubscribe">unsubscribe</a>, <a href="http://mail-archives.apache.org/mod_mbox/zeppelin-dev/">archives</a></li>
+</ul>
+
+<p>If you have any issues, create a ticket in <a href="https://issues.apache.org/jira/browse/ZEPPELIN">JIRA</a>.</p>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2019 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
+  </body>
+</html>
+

Added: zeppelin/site/docs/0.8.1/development/contribution/how_to_contribute_website.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.1/development/contribution/how_to_contribute_website.html?rev=1851877&view=auto
==============================================================================
--- zeppelin/site/docs/0.8.1/development/contribution/how_to_contribute_website.html (added)
+++ zeppelin/site/docs/0.8.1/development/contribution/how_to_contribute_website.html Wed Jan 23 04:28:00 2019
@@ -0,0 +1,342 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.8.0 Documentation: Contributing to Apache Zeppelin (Website)</title>
+    <meta name="description" content="How can you contribute to Apache Zeppelin project website? This document covers from building Zeppelin documentation site to making a pull request on Github.">
+    <meta name="author" content="The Apache Software Foundation">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
+
+    <!-- Le styles -->
+    <link href="/docs/0.8.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.8.0/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.8.0/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <!-- Le fav and touch icons -->
+    <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- Js -->
+    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.8.0/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.8.0/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+  </head>
+
+  <body>
+    
+        <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+      <div class="container navbar-container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-brand">
+            <a class="navbar-brand-main" href="http://zeppelin.apache.org">
+              <img src="/docs/0.8.0/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+                   style="margin-top: -2px;" alt="I'm zeppelin">
+              <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
+              <a class="navbar-brand-version" href="/docs/0.8.0"
+                 style="font-size: 15px; color: white;"> 0.8.0
+              </a>
+            </a>
+          </div>
+        </div>
+        <nav class="navbar-collapse collapse" role="navigation">
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Getting Started</span></li>
+                <li><a href="/docs/0.8.0/quickstart/install.html">Install</a></li>
+                <li><a href="/docs/0.8.0/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/docs/0.8.0/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Dynamic Form</span></li>
+                <li><a href="/docs/0.8.0/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Display System</span></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#network">Network Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Interpreter</span></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/docs/0.8.0/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/docs/0.8.0/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Other Features</span></li>
+                <li><a href="/docs/0.8.0/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/notebook_actions.html">Notebook Actions</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>REST API</span></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/helium.html">Helium API</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Basics</span></li>
+                <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Deployment</span></li>
+                <!--<li><a href="/docs/0.8.0/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Security</span></li>
+                <li><a href="/docs/0.8.0/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/docs/0.8.0/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/docs/0.8.0/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.8.0/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.8.0/setup/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Notebook Storage</span></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Operation</span></li>
+                <li><a href="/docs/0.8.0/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Interpreters</span></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/interpreter/spark.html">Spark</a></li>
+                <li><a href="/docs/0.8.0/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.8.0/interpreter/python.html">Python</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.8.0/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.8.0/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.8.0/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.8.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.8.0/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.8.0/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.8.0/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.8.0/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.8.0/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.8.0/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.8.0/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.8.0/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.8.0/interpreter/neo4j.html">Neo4j</a></li>
+                <li><a href="/docs/0.8.0/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.8.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.8.0/interpreter/r.html">R</a></li>
+                <li><a href="/docs/0.8.0/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.8.0/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.8.0/interpreter/shell.html">Shell</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
+                <li class="title"><span>Extending Zeppelin</span></li>
+                <li><a href="/docs/0.8.0/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Helium (Experimental)</span></li>
+                <li><a href="/docs/0.8.0/development/helium/overview.html">Overview</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Contributing to Zeppelin</span></li>
+                <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>External Resources</span></li>
+                <li><a target="_blank" href="">Mailing List</a></li>
+                <li><a target="_blank" href="">Apache Zeppelin Wiki</a></li>
+                <li><a target="_blank" href="">Stackoverflow Questions about Zeppelin</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/docs/0.8.0/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Contributing to Apache Zeppelin (Website)">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<h1>Contributing to Apache Zeppelin ( Website )</h1>
+
+<div id="toc"></div>
+
+<p>This page will give you an overview of how to build and contribute to the documentation of Apache Zeppelin.
+The online documentation at <a href="https://zeppelin.apache.org/docs/latest/">zeppelin.apache.org</a> is also generated from the files found here.</p>
+
+<blockquote>
+<p><strong>NOTE :</strong> Apache Zeppelin is an <a href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache2 License</a> Software.
+Any contributions to Zeppelin (Source code, Documents, Image, Website) means you agree with license all your contributions as Apache2 License.</p>
+</blockquote>
+
+<h2>Getting the source code</h2>
+
+<p>First of all, you need Zeppelin source code. The official location of Zeppelin is <a href="http://git.apache.org/zeppelin.git">http://git.apache.org/zeppelin.git</a>.
+Documentation website is hosted in &#39;master&#39; branch under <code>/docs/</code> dir.</p>
+
+<h3>git access</h3>
+
+<p>First of all, you need the website source code. The official location of mirror for Zeppelin is <a href="http://git.apache.org/zeppelin.git">http://git.apache.org/zeppelin.git</a>.
+Get the source code on your development machine using git.</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash">git clone git://git.apache.org/zeppelin.git
+<span class="nb">cd </span>docs
+</code></pre></div>
+<p>Apache Zeppelin follows <a href="https://github.com/sevntu-checkstyle/sevntu.checkstyle/wiki/Development-workflow-with-Git:-Fork,-Branching,-Commits,-and-Pull-Request">Fork &amp; Pull</a> as a source control workflow.
+If you want to not only build Zeppelin but also make any changes, then you need to fork <a href="https://github.com/apache/zeppelin">Zeppelin github mirror repository</a> and make a pull request.</p>
+
+<h3>Build</h3>
+
+<p>You&#39;ll need to install some prerequisites to build the code. Please check <a href="https://github.com/apache/zeppelin/blob/master/docs/README.md#build-documentation">Build documentation</a> section in <a href="https://github.com/apache/zeppelin/blob/master/docs/README.md">docs/README.md</a>.</p>
+
+<h3>Run website in development mode</h3>
+
+<p>While you&#39;re modifying website, you might want to see preview of it. Please check <a href="https://github.com/apache/zeppelin/blob/master/docs/README.md#run-website">Run website</a> section in <a href="https://github.com/apache/zeppelin/blob/master/docs/README.md">docs/README.md</a>.
+Then you&#39;ll be able to access it on <a href="http://localhost:4000">http://localhost:4000</a> with your web browser.</p>
+
+<h3>Making a Pull Request</h3>
+
+<p>When you are ready, just make a pull-request.</p>
+
+<h2>Alternative way</h2>
+
+<p>You can directly edit <code>.md</code> files in <code>/docs/</code> directory at the web interface of github and make pull-request immediately.</p>
+
+<h2>Stay involved</h2>
+
+<p>Contributors should join the Zeppelin mailing lists.</p>
+
+<ul>
+<li><a href="http://mail-archives.apache.org/mod_mbox/zeppelin-dev/">dev@zeppelin.apache.org</a> is for people who want to contribute code to Zeppelin. <a href="mailto:dev-subscribe@zeppelin.apache.org?subject=send%20this%20email%20to%20subscribe">subscribe</a>, <a href="mailto:dev-unsubscribe@zeppelin.apache.org?subject=send%20this%20email%20to%20unsubscribe">unsubscribe</a>, <a href="http://mail-archives.apache.org/mod_mbox/zeppelin-dev/">archives</a></li>
+</ul>
+
+<p>If you have any issues, create a ticket in <a href="https://issues.apache.org/jira/browse/ZEPPELIN">JIRA</a>.</p>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2019 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
+  </body>
+</html>
+

Added: zeppelin/site/docs/0.8.1/development/contribution/useful_developer_tools.html
URL: http://svn.apache.org/viewvc/zeppelin/site/docs/0.8.1/development/contribution/useful_developer_tools.html?rev=1851877&view=auto
==============================================================================
--- zeppelin/site/docs/0.8.1/development/contribution/useful_developer_tools.html (added)
+++ zeppelin/site/docs/0.8.1/development/contribution/useful_developer_tools.html Wed Jan 23 04:28:00 2019
@@ -0,0 +1,357 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Apache Zeppelin 0.8.0 Documentation: Useful Developer Tools</title>
+    <meta name="description" content="">
+    <meta name="author" content="The Apache Software Foundation">
+
+    <!-- Enable responsive viewport -->
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
+
+    <!-- Le styles -->
+    <link href="/docs/0.8.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css" rel="stylesheet">
+    <link href="/docs/0.8.0/assets/themes/zeppelin/css/style.css?body=1" rel="stylesheet" type="text/css">
+    <link href="/docs/0.8.0/assets/themes/zeppelin/css/syntax.css" rel="stylesheet"  type="text/css" media="screen" /> 
+    <!-- Le fav and touch icons -->
+    <!-- Update these with your own images
+    <link rel="shortcut icon" href="images/favicon.ico">
+    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
+    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
+    -->
+
+    <!-- Js -->
+    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/toc.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/lunr.min.js"></script>
+    <script src="/docs/0.8.0/assets/themes/zeppelin/js/search.js"></script>    
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.8.0/atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.8.0/rss.xml" type="application/rss+xml" rel="alternate" title="Sitewide RSS Feed">
+  </head>
+
+  <body>
+    
+        <div id="menu" class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+      <div class="container navbar-container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <div class="navbar-brand">
+            <a class="navbar-brand-main" href="http://zeppelin.apache.org">
+              <img src="/docs/0.8.0/assets/themes/zeppelin/img/zeppelin_logo.png" width="50"
+                   style="margin-top: -2px;" alt="I'm zeppelin">
+              <span style="margin-left: 5px; font-size: 27px;">Zeppelin</span>
+              <a class="navbar-brand-version" href="/docs/0.8.0"
+                 style="font-size: 15px; color: white;"> 0.8.0
+              </a>
+            </a>
+          </div>
+        </div>
+        <nav class="navbar-collapse collapse" role="navigation">
+          <ul class="nav navbar-nav">
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick Start <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li class="title"><span>Getting Started</span></li>
+                <li><a href="/docs/0.8.0/quickstart/install.html">Install</a></li>
+                <li><a href="/docs/0.8.0/quickstart/explore_ui.html">Explore UI</a></li>
+                <li><a href="/docs/0.8.0/quickstart/tutorial.html">Tutorial</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/quickstart/spark_with_zeppelin.html">Spark with Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/quickstart/sql_with_zeppelin.html">SQL with Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/quickstart/python_with_zeppelin.html">Python with Zeppelin</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Usage<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Dynamic Form</span></li>
+                <li><a href="/docs/0.8.0/usage/dynamic_form/intro.html">What is Dynamic Form?</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Display System</span></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#text">Text Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#html">HTML Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#table">Table Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/basic.html#network">Network Display</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/angular_backend.html">Angular Display using Backend API</a></li>
+                <li><a href="/docs/0.8.0/usage/display_system/angular_frontend.html">Angular Display using Frontend API</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Interpreter</span></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/interpreter_binding_mode.html">Interpreter Binding Mode</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/user_impersonation.html">User Impersonation</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/dependency_management.html">Dependency Management</a></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/installation.html">Installing Interpreters</a></li>
+                <!--<li><a href="/docs/0.8.0/usage/interpreter/dynamic_loading.html">Dynamic Interpreter Loading (Experimental)</a></li>-->
+                <li><a href="/docs/0.8.0/usage/interpreter/execution_hooks.html">Execution Hooks (Experimental)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Other Features</span></li>
+                <li><a href="/docs/0.8.0/usage/other_features/publishing_paragraphs.html">Publishing Paragraphs</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/personalized_mode.html">Personalized Mode</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/customizing_homepage.html">Customizing Zeppelin Homepage</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/notebook_actions.html">Notebook Actions</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/cron_scheduler.html">Cron Scheduler</a></li>
+                <li><a href="/docs/0.8.0/usage/other_features/zeppelin_context.html">Zeppelin Context</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>REST API</span></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/zeppelin_server.html">Zeppelin Server API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/notebook.html">Notebook API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/notebook_repository.html">Notebook Repository API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/configuration.html">Configuration API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/credential.html">Credential API</a></li>
+                <li><a href="/docs/0.8.0/usage/rest_api/helium.html">Helium API</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Setup<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Basics</span></li>
+                <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/setup/basics/multi_user_support.html">Multi-user Support</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Deployment</span></li>
+                <!--<li><a href="/docs/0.8.0/setup/deployment/docker.html">Docker Image for Zeppelin</a></li>-->
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-standalone-mode">Spark Cluster Mode: Standalone</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-yarn-mode">Spark Cluster Mode: YARN</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/spark_cluster_mode.html#spark-on-mesos-mode">Spark Cluster Mode: Mesos</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/flink_and_spark_cluster.html">Zeppelin with Flink, Spark Cluster</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/cdh.html">Zeppelin on CDH</a></li>
+                <li><a href="/docs/0.8.0/setup/deployment/virtual_machine.html">Zeppelin on VM: Vagrant</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Security</span></li>
+                <li><a href="/docs/0.8.0/setup/security/authentication_nginx.html">HTTP Basic Auth using NGINX</a></li>
+                <li><a href="/docs/0.8.0/setup/security/shiro_authentication.html">Shiro Authentication</a></li>
+                <li><a href="/docs/0.8.0/setup/security/notebook_authorization.html">Notebook Authorization</a></li>
+                <li><a href="/docs/0.8.0/setup/security/datasource_authorization.html">Data Source Authorization</a></li>
+                <li><a href="/docs/0.8.0/setup/security/http_security_headers.html">HTTP Security Headers</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Notebook Storage</span></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-local-git-repository">Git Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-s3">S3 Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-azure">Azure Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-zeppelinhub">ZeppelinHub Storage</a></li>
+                <li><a href="/docs/0.8.0/setup/storage/storage.html#notebook-storage-in-mongodb">MongoDB Storage</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Operation</span></li>
+                <li><a href="/docs/0.8.0/setup/operation/configuration.html">Configuration</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/proxy_setting.html">Proxy Setting</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/upgrading.html">Upgrading</a></li>
+                <li><a href="/docs/0.8.0/setup/operation/trouble_shooting.html">Trouble Shooting</a></li>
+              </ul>
+            </li>
+
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu">
+                <li class="title"><span>Interpreters</span></li>
+                <li><a href="/docs/0.8.0/usage/interpreter/overview.html">Overview</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/interpreter/spark.html">Spark</a></li>
+                <li><a href="/docs/0.8.0/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.8.0/interpreter/python.html">Python</a></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="/docs/0.8.0/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a href="/docs/0.8.0/interpreter/beam.html">Beam</a></li>
+                <li><a href="/docs/0.8.0/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a href="/docs/0.8.0/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a href="/docs/0.8.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.8.0/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.8.0/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.8.0/interpreter/groovy.html">Groovy</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.8.0/interpreter/hive.html">Hive</a></li>
+                <li><a href="/docs/0.8.0/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.8.0/interpreter/kylin.html">Kylin</a></li>
+                <li><a href="/docs/0.8.0/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.8.0/interpreter/livy.html">Livy</a></li>
+                <li><a href="/docs/0.8.0/interpreter/markdown.html">Markdown</a></li>
+                <li><a href="/docs/0.8.0/interpreter/neo4j.html">Neo4j</a></li>
+                <li><a href="/docs/0.8.0/interpreter/pig.html">Pig</a></li>
+                <li><a href="/docs/0.8.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.8.0/interpreter/r.html">R</a></li>
+                <li><a href="/docs/0.8.0/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.8.0/interpreter/scio.html">Scio</a></li>
+                <li><a href="/docs/0.8.0/interpreter/shell.html">Shell</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="#" data-toggle="dropdown" class="dropdown-toggle">More<b class="caret"></b></a>
+              <ul class="dropdown-menu scrollable-menu" style="right: 0; left: auto;">
+                <li class="title"><span>Extending Zeppelin</span></li>
+                <li><a href="/docs/0.8.0/development/writing_zeppelin_interpreter.html">Writing Zeppelin Interpreter</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Helium (Experimental)</span></li>
+                <li><a href="/docs/0.8.0/development/helium/overview.html">Overview</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_application.html">Writing Helium Application</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_spell.html">Writing Helium Spell</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_visualization_basic.html">Writing Helium Visualization: Basics</a></li>
+                <li><a href="/docs/0.8.0/development/helium/writing_visualization_transformation.html">Writing Helium Visualization: Transformation</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>Contributing to Zeppelin</span></li>
+                <li><a href="/docs/0.8.0/setup/basics/how_to_build.html">How to Build Zeppelin</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/useful_developer_tools.html">Useful Developer Tools</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_code.html">How to Contribute (code)</a></li>
+                <li><a href="/docs/0.8.0/development/contribution/how_to_contribute_website.html">How to Contribute (website)</a></li>
+                <li role="separator" class="divider"></li>
+                <li class="title"><span>External Resources</span></li>
+                <li><a target="_blank" href="">Mailing List</a></li>
+                <li><a target="_blank" href="">Apache Zeppelin Wiki</a></li>
+                <li><a target="_blank" href="">Stackoverflow Questions about Zeppelin</a></li>
+              </ul>
+            </li>
+            <li>
+              <a href="/docs/0.8.0/search.html" class="nav-search-link">
+                <span class="fa fa-search nav-search-icon"></span>
+              </a>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Useful Developer Tools">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<h1>Useful Developer Tools</h1>
+
+<div id="toc"></div>
+
+<h3>Developing <code>zeppelin-web</code></h3>
+
+<p>Check <a href="https://github.com/apache/zeppelin/tree/master/zeppelin-web#local-development">zeppelin-web: Local Development</a>.</p>
+
+<h3>Tools</h3>
+
+<h4>SVM: Scala Version Manager</h4>
+
+<p><a href="https://github.com/yuroyoro/svm">svm</a> would be useful when changing scala version frequently.</p>
+
+<h4>JDK change script: OSX</h4>
+
+<p>this script would be helpful when changing JDK version frequently.</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"><span class="k">function </span>setjdk<span class="o">()</span> <span class="o">{</span>
+  <span class="k">if</span> <span class="o">[</span> <span class="nv">$# </span>-ne 0 <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
+  <span class="c"># written based on OSX. </span>
+  <span class="c"># use diffrent base path for other OS</span>
+  removeFromPath <span class="s1">&#39;/System/Library/Frameworks/JavaVM.framework/Home/bin&#39;</span>
+  <span class="k">if</span> <span class="o">[</span> -n <span class="s2">&quot;${JAVA_HOME+x}&quot;</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span>
+<span class="k">    </span>removeFromPath <span class="nv">$JAVA_HOME</span>
+  <span class="k">fi</span>
+<span class="k">  </span><span class="nb">export </span><span class="nv">JAVA_HOME</span><span class="o">=</span><span class="sb">`</span>/usr/libexec/java_home -v <span class="nv">$@</span><span class="sb">`</span>
+  <span class="nb">export </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$JAVA_HOME</span>/bin:<span class="nv">$PATH</span>
+  <span class="k">fi</span>
+<span class="o">}</span>
+<span class="k">function </span>removeFromPath<span class="o">()</span> <span class="o">{</span>
+  <span class="nb">export </span><span class="nv">PATH</span><span class="o">=</span><span class="k">$(</span><span class="nb">echo</span> <span class="nv">$PATH</span> <span class="p">|</span> sed -E -e <span class="s2">&quot;s;:$1;;&quot;</span> -e <span class="s2">&quot;s;$1:?;;&quot;</span><span class="k">)</span>
+<span class="o">}</span>
+</code></pre></div>
+<p>you can use this function like <code>setjdk 1.8</code> / <code>setjdk 1.7</code></p>
+
+<h3>Building Submodules Selectively</h3>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"><span class="c"># build `zeppelin-web` only</span>
+mvn clean -pl <span class="s1">&#39;zeppelin-web&#39;</span> package -DskipTests<span class="p">;</span>
+
+<span class="c"># build `zeppelin-server` and its dependencies only</span>
+mvn clean package -pl <span class="s1">&#39;spark,spark-dependencies,python,markdown,zeppelin-server&#39;</span> --am -DskipTests
+
+<span class="c"># build spark related modules with default profiles: scala 2.10 </span>
+mvn clean package -pl <span class="s1">&#39;spark,spark-dependencies,zeppelin-server&#39;</span> --am -DskipTests
+
+<span class="c"># build spark related modules with profiles: scala 2.11, spark 2.1 hadoop 2.7 </span>
+./dev/change_scala_version.sh 2.11
+mvn clean package -Pspark-2.1 -Phadoop-2.7 -Pscala-2.11 <span class="se">\</span>
+-pl <span class="s1">&#39;spark,spark-dependencies,zeppelin-server&#39;</span> --am -DskipTests
+
+<span class="c"># build `zeppelin-server` and `markdown` with dependencies</span>
+mvn clean package -pl <span class="s1">&#39;markdown,zeppelin-server&#39;</span> --am -DskipTests
+</code></pre></div>
+<h3>Running Individual Tests</h3>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"><span class="c"># run the `HeliumBundleFactoryTest` test class</span>
+mvn <span class="nb">test</span> -pl <span class="s1">&#39;zeppelin-server&#39;</span> --am -DfailIfNoTests<span class="o">=</span><span class="nb">false</span> -Dtest<span class="o">=</span>HeliumBundleFactoryTest
+</code></pre></div>
+<h3>Running Selenium Tests</h3>
+
+<p>Make sure that Zeppelin instance is started to execute integration tests (= selenium tests).</p>
+<div class="highlight"><pre><code class="bash language-bash" data-lang="bash"><span class="c"># run the `SparkParagraphIT` test class</span>
+<span class="nv">TEST_SELENIUM</span><span class="o">=</span><span class="s2">&quot;true&quot;</span> mvn <span class="nb">test</span> -pl <span class="s1">&#39;zeppelin-server&#39;</span> --am <span class="se">\</span>
+-DfailIfNoTests<span class="o">=</span><span class="nb">false</span> -Dtest<span class="o">=</span>SparkParagraphIT
+
+<span class="c"># run the `testSqlSpark` test function only in the `SparkParagraphIT` class</span>
+<span class="c"># but note that, some test might be dependent on the previous tests</span>
+<span class="nv">TEST_SELENIUM</span><span class="o">=</span><span class="s2">&quot;true&quot;</span> mvn <span class="nb">test</span> -pl <span class="s1">&#39;zeppelin-server&#39;</span> --am <span class="se">\</span>
+-DfailIfNoTests<span class="o">=</span><span class="nb">false</span> -Dtest<span class="o">=</span>SparkParagraphIT#testSqlSpark
+</code></pre></div>
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 2019 The Apache Software Foundation</p>-->
+      </footer>
+    </div>
+
+    
+
+
+  <script type="text/javascript">
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+  ga('require', 'linkid', 'linkid.js');
+  ga('send', 'pageview');
+
+</script>
+
+
+
+  </body>
+</html>
+



Mime
View raw message