zeppelin/docs/development/contribution/useful_developer_tools.md
Alex Ott ebca7aed7c Miscellaneous documentation fixes
### What is this PR for?

This PR contains miscellaneous fixes & improvements for documentation:

- fixes for code snippets formatting, like, https://zeppelin.apache.org/docs/0.8.0-SNAPSHOT/setup/security/shiro_authentication.html#apply-multiple-roles-in-shiro-configuration
- fixes syntax highlighting (adding `scala`, `xml`, `java`, `bash`, ...)
- fixes for list of interpreters
- ...

### What type of PR is it?
Documentation

Author: Alex Ott <alexott@gmail.com>

Closes #2997 from alexott/doc-formatting-fixes and squashes the following commits:

10eed86ca [Alex Ott] Merge branch 'master' into doc-formatting-fixes
37a2bb778 [Alex Ott] miscellaneous fixes - wording, formatting, etc.
63ca2b0e2 [Alex Ott] fix usage of the ``` markup that lead to broken formatting
9d285a1b7 [Alex Ott] Fix list of interpreters
5a7950e79 [Alex Ott] add missing language spec for syntax highlighting
bb26a2954 [Alex Ott] use same formatting for parser name
c90b61f11 [Alex Ott] use same capitalization in all interpreter names
a994f4ecf [Alex Ott] improve formatting for Cassandra interpreter docs
2018-06-20 22:30:14 +08:00

3.1 KiB

layout title description group
page Useful Developer Tools development/contribution

{% include JB/setup %}

Useful Developer Tools

Developing zeppelin-web

Check zeppelin-web: Local Development.

Tools

SVM: Scala Version Manager

svm would be useful when changing scala version frequently.

JDK change script: OSX

this script would be helpful when changing JDK version frequently.

function setjdk() {
  if [ $# -ne 0 ]; then
  # written based on OSX. 
  # use diffrent base path for other OS
  removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
  if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
  fi
  export JAVA_HOME=`/usr/libexec/java_home -v $@`
  export PATH=$JAVA_HOME/bin:$PATH
  fi
}
function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}

you can use this function like setjdk 1.8 / setjdk 1.7

Building Submodules Selectively

# build `zeppelin-web` only
mvn clean -pl 'zeppelin-web' package -DskipTests;

# build `zeppelin-server` and its dependencies only
mvn clean package -pl 'spark,spark-dependencies,python,markdown,zeppelin-server' --am -DskipTests

# build spark related modules with default profiles: scala 2.10 
mvn clean package -pl 'spark,spark-dependencies,zeppelin-server' --am -DskipTests

# build spark related modules with profiles: scala 2.11, spark 2.1 hadoop 2.7 
./dev/change_scala_version.sh 2.11
mvn clean package -Pspark-2.1 -Phadoop-2.7 -Pscala-2.11 \
-pl 'spark,spark-dependencies,zeppelin-server' --am -DskipTests

# build `zeppelin-server` and `markdown` with dependencies
mvn clean package -pl 'markdown,zeppelin-server' --am -DskipTests

Running Individual Tests

# run the `HeliumBundleFactoryTest` test class
mvn test -pl 'zeppelin-server' --am -DfailIfNoTests=false -Dtest=HeliumBundleFactoryTest

Running Selenium Tests

Make sure that Zeppelin instance is started to execute integration tests (= selenium tests).

# run the `SparkParagraphIT` test class
TEST_SELENIUM="true" mvn test -pl 'zeppelin-server' --am \
-DfailIfNoTests=false -Dtest=SparkParagraphIT

# run the `testSqlSpark` test function only in the `SparkParagraphIT` class
# but note that, some test might be dependent on the previous tests
TEST_SELENIUM="true" mvn test -pl 'zeppelin-server' --am \
-DfailIfNoTests=false -Dtest=SparkParagraphIT#testSqlSpark