Repository: zeppelin Updated Branches: refs/heads/master b91a5e623 -> 7da83eaa2
ZEPPELIN-621 - Bump Java version to Java 8 ### What is this PR for? This PR switches the project to use Java 8 - we already have dependency on Spark 2.2.0 that is Java 8+ only. ### What type of PR is it? Improvement ### What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-621 Author: Alex Ott <alex...@gmail.com> Closes #3029 from alexott/ZEPPELIN-621 and squashes the following commits: a2e0cd8ea [Alex Ott] next try to make tests working 52a41d033 [Alex Ott] explicitly specify profiles for Scala 2.10 for some tests 7dc92d972 [Alex Ott] Merge branch 'ZEPPELIN-621' of github.com:alexott/zeppelin into ZEPPELIN-621 4d5113225 [Alex Ott] switch to Java 8 in the TravisCI as well 8e14ddb92 [Alex Ott] Mention Java 8 as dependency 3abd1425e [Alex Ott] update Vagrant to 16.04 + Java 8 fc69773cf [Alex Ott] bump Java to 1.8 cce03d184 [Alex Ott] switch to Java 8 in the TravisCI as well 51b9eccfb [Alex Ott] Mention Java 8 as dependency 764bd3417 [Alex Ott] update Vagrant to 16.04 + Java 8 07e80bb21 [Alex Ott] bump Java to 1.8 Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/7da83eaa Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/7da83eaa Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/7da83eaa Branch: refs/heads/master Commit: 7da83eaa29d809d9d140ea29358e3ff108dbb49e Parents: b91a5e6 Author: Alex Ott <alex...@gmail.com> Authored: Sat Jun 23 20:10:59 2018 +0200 Committer: Jeff Zhang <zjf...@apache.org> Committed: Mon Jun 25 09:31:05 2018 +0800 ---------------------------------------------------------------------- .travis.yml | 16 ++++++++-------- .../contribution/how_to_contribute_code.md | 2 +- pom.xml | 2 +- scripts/vagrant/zeppelin-dev/README.md | 16 ++++++++-------- scripts/vagrant/zeppelin-dev/Vagrantfile | 4 ++-- scripts/vagrant/zeppelin-dev/ansible-roles.yml | 20 +++++++++++++++++--- .../zeppelin-dev/roles/java7jdk/tasks/main.yml | 18 ------------------ .../zeppelin-dev/roles/java8jdk/tasks/main.yml | 18 ++++++++++++++++++ .../zeppelin-dev/roles/nodejs/tasks/main.yml | 15 +++++---------- .../vagrant/zeppelin-dev/roles/r/tasks/main.yml | 15 --------------- .../zeppelin-dev/roles/ruby/tasks/main.yml | 9 +++------ 11 files changed, 63 insertions(+), 72 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/.travis.yml ---------------------------------------------------------------------- diff --git a/.travis.yml b/.travis.yml index a9b2349..1227876 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,7 +42,7 @@ env: matrix: include: # Test License compliance using RAT tool - - jdk: "openjdk7" + - jdk: "oraclejdk8" dist: trusty env: BUILD_PLUGINS="false" SCALA_VER="2.11" PROFILE="-Prat -Pr" BUILD_FLAG="clean" TEST_FLAG="org.apache.rat:apache-rat-plugin:check" TEST_PROJECTS="" @@ -73,12 +73,12 @@ matrix: dist: trusty addons: firefox: "31.0" - env: BUILD_PLUGINS="true" CI="true" PYTHON="2" SCALA_VER="2.10" SPARK_VER="1.6.3" HADOOP_VER="2.6" PROFILE="-Pspark-1.6 -Phadoop2 -Phadoop-2.6 -Phelium-dev -Pexamples -Pintegration" BUILD_FLAG="install -DskipTests -DskipRat" TEST_FLAG="verify -DskipRat" TEST_PROJECTS="-pl .,zeppelin-integration -DfailIfNoTests=false" + env: BUILD_PLUGINS="true" CI="true" PYTHON="2" SCALA_VER="2.10" SPARK_VER="1.6.3" HADOOP_VER="2.6" PROFILE="-Pspark-1.6 -Phadoop2 -Phelium-dev -Pexamples -Pintegration -Pscala-2.10" BUILD_FLAG="install -DskipTests -DskipRat" TEST_FLAG="verify -DskipRat" TEST_PROJECTS="-pl .,zeppelin-integration -DfailIfNoTests=false" # Test interpreter modules - - jdk: "openjdk7" + - jdk: "oraclejdk8" dist: trusty - env: BUILD_PLUGINS="false" PYTHON="3" SCALA_VER="2.10" PROFILE="-Pscalding" BUILD_FLAG="package -DskipTests -DskipRat -Pr" TEST_FLAG="test -DskipRat" MODULES="-pl $(echo .,zeppelin-interpreter,${INTERPRETERS} | sed 's/!//g')" TEST_PROJECTS="" + env: BUILD_PLUGINS="false" PYTHON="3" SCALA_VER="2.10" PROFILE="-Pscalding -Pscala-2.10" BUILD_FLAG="package -DskipTests -DskipRat -Pr" TEST_FLAG="test -DskipRat" MODULES="-pl $(echo .,zeppelin-interpreter,${INTERPRETERS} | sed 's/!//g')" TEST_PROJECTS="" # Run ZeppelinSparkClusterTest & SparkIntegrationTest in one build would exceed the time limitation of travis, so running them separately @@ -92,10 +92,10 @@ matrix: - sudo: required jdk: "oraclejdk8" dist: trusty - env: BUILD_PLUGINS="true" PYTHON="3" PROFILE="-Pspark-1.6" SPARKR="true" BUILD_FLAG="install -DskipTests -DskipRat -am" TEST_FLAG="test -DskipRat -am" MODULES="-pl zeppelin-zengine,spark/interpreter,spark/spark-dependencies" TEST_PROJECTS="-Dtest=SparkIntegrationTest,org.apache.zeppelin.spark.* -DfailIfNoTests=false" + env: BUILD_PLUGINS="true" PYTHON="3" SCALA_VER="2.10" PROFILE="-Pspark-1.6 -Pscala-2.10" SPARKR="true" BUILD_FLAG="install -DskipTests -DskipRat -am" TEST_FLAG="test -DskipRat -am" MODULES="-pl zeppelin-zengine,spark/interpreter,spark/spark-dependencies" TEST_PROJECTS="-Dtest=SparkIntegrationTest,org.apache.zeppelin.spark.* -DfailIfNoTests=false" # Test spark module for 2.1.0 with scala 2.11 - - jdk: "openjdk7" + - jdk: "oraclejdk8" dist: trusty env: BUILD_PLUGINS="false" PYTHON="2" SCALA_VER="2.11" PROFILE="-Pspark-2.1 -Phadoop2 -Pscala-2.11 -Pr" SPARKR="true" BUILD_FLAG="package -DskipTests -DskipRat -am" TEST_FLAG="test -DskipRat -am" MODULES="-pl spark/interpreter,spark/spark-dependencies,r" TEST_PROJECTS="-Dtest=org.apache.zeppelin.spark.*,org.apache.zeppelin.rinterpreter.*,org.apache.spark.api.r.* -DfailIfNoTests=false" @@ -107,8 +107,8 @@ matrix: # Test python/pyspark with python 2, livy 0.5 - sudo: required dist: trusty - jdk: "openjdk7" - env: BUILD_PLUGINS="false" PYTHON="2" SPARK_VER="1.6.3" HADOOP_VER="2.6" LIVY_VER="0.5.0-incubating" PROFILE="" BUILD_FLAG="install -am -DskipTests -DskipRat" TEST_FLAG="verify -DskipRat" MODULES="-pl livy" TEST_PROJECTS="" + jdk: "oraclejdk8" + env: BUILD_PLUGINS="false" PYTHON="2" SCALA_VER="2.10" SPARK_VER="1.6.3" HADOOP_VER="2.6" LIVY_VER="0.5.0-incubating" PROFILE="-Pspark-1.6 -Phadoop2 -Pscala-2.10" BUILD_FLAG="install -am -DskipTests -DskipRat" TEST_FLAG="verify -DskipRat" MODULES="-pl livy" TEST_PROJECTS="" # Test livy 0.5 with spark 2.2.0 under python3 - sudo: required http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/docs/development/contribution/how_to_contribute_code.md ---------------------------------------------------------------------- diff --git a/docs/development/contribution/how_to_contribute_code.md b/docs/development/contribution/how_to_contribute_code.md index 290c8d1..e71326e 100644 --- a/docs/development/contribution/how_to_contribute_code.md +++ b/docs/development/contribution/how_to_contribute_code.md @@ -41,7 +41,7 @@ You are free to use whatever IDE you prefer, or your favorite command line edito To build the code, install - * Oracle Java 7 + * Oracle Java 8 * Apache Maven ## Getting the source code http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 94003fd..76dc327 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,7 @@ <properties> <!-- language versions --> - <java.version>1.7</java.version> + <java.version>1.8</java.version> <scala.version>2.10.5</scala.version> <scala.binary.version>2.10</scala.binary.version> <scalatest.version>2.2.4</scalatest.version> http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/scripts/vagrant/zeppelin-dev/README.md ---------------------------------------------------------------------- diff --git a/scripts/vagrant/zeppelin-dev/README.md b/scripts/vagrant/zeppelin-dev/README.md index 60bb09c..3b2d355 100644 --- a/scripts/vagrant/zeppelin-dev/README.md +++ b/scripts/vagrant/zeppelin-dev/README.md @@ -63,21 +63,21 @@ By default, Vagrant will share your project directory (the directory with the Va Running the following commands in the guest machine should display these expected versions: -`node --version` should report *v0.12.7* -`mvn --version` should report *Apache Maven 3.3.3* and *Java version: 1.7.0_85* +`node --version` should report *v4.2.6* +`mvn --version` should report *Apache Maven 3.3.9* and *Java version: 1.8.0_171* The virtual machine consists of: - - Ubuntu Server 14.04 LTS - - Node.js 0.12.7 - - npm 2.11.3 - - ruby 1.9.3 + rake, make and bundler (only required if building jekyll documentation) - - Maven 3.3.3 + - Ubuntu Server 16.04 LTS + - Node.js 4.2.6 + - npm 3.5.2 + - ruby + rake, make and bundler (only required if building jekyll documentation) + - Maven 3.3.9 - Git - Unzip - libfontconfig to avoid phatomJs missing dependency issues - - openjdk-7-jdk + - openjdk-8-jdk - Python addons: pip, matplotlib, scipy, numpy, pandas - [R](https://www.r-project.org/) and R Packages required to run the R Interpreter and the related R tutorial notebook, including: Knitr, devtools, repr, rCharts, ggplot2, googleVis, mplot, htmltools, base64enc, data.table http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/scripts/vagrant/zeppelin-dev/Vagrantfile ---------------------------------------------------------------------- diff --git a/scripts/vagrant/zeppelin-dev/Vagrantfile b/scripts/vagrant/zeppelin-dev/Vagrantfile index 1da7be3..8c1ed76 100644 --- a/scripts/vagrant/zeppelin-dev/Vagrantfile +++ b/scripts/vagrant/zeppelin-dev/Vagrantfile @@ -25,8 +25,8 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # please see the online documentation at vagrantup.com. # Every Vagrant virtual environment requires a box to build off of. - # ubuntu/trusty64 Official Ubuntu Server 14.04 LTS (Trusty Tahr) builds - config.vm.box = "ubuntu/trusty64" + # ubuntu/xenial64 Official Ubuntu Server 16.04 LTS (Xenial Xerus) builds + config.vm.box = "ubuntu/xenial64" # Disable automatic box update checking. If you disable this, then # boxes will only be checked for updates when the user runs http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/scripts/vagrant/zeppelin-dev/ansible-roles.yml ---------------------------------------------------------------------- diff --git a/scripts/vagrant/zeppelin-dev/ansible-roles.yml b/scripts/vagrant/zeppelin-dev/ansible-roles.yml index cc39522..ee7ee8e 100644 --- a/scripts/vagrant/zeppelin-dev/ansible-roles.yml +++ b/scripts/vagrant/zeppelin-dev/ansible-roles.yml @@ -13,13 +13,27 @@ # See the License for the specific language governing permissions and # limitations under the License. --- -- name: Run Ansible +- name: Install Python2 for Ansible hosts: all - sudo: yes + gather_facts: no + become: true + become_user: root + become_method: sudo + pre_tasks: + - raw: sudo apt-get -y install python-minimal + +- name: Run Ansible + hosts: all + become: true + become_user: root + become_method: sudo + pre_tasks: + - name: 'install python2' + raw: sudo apt-get -y install python-simplejson roles: - common - ruby - - java7jdk + - java8jdk - nodejs - maven - python-addons http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/scripts/vagrant/zeppelin-dev/roles/java7jdk/tasks/main.yml ---------------------------------------------------------------------- diff --git a/scripts/vagrant/zeppelin-dev/roles/java7jdk/tasks/main.yml b/scripts/vagrant/zeppelin-dev/roles/java7jdk/tasks/main.yml deleted file mode 100644 index 7e78aef..0000000 --- a/scripts/vagrant/zeppelin-dev/roles/java7jdk/tasks/main.yml +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You 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. - -- name: Install openjdk-7 - apt: pkg=openjdk-7-jdk state=present - \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/scripts/vagrant/zeppelin-dev/roles/java8jdk/tasks/main.yml ---------------------------------------------------------------------- diff --git a/scripts/vagrant/zeppelin-dev/roles/java8jdk/tasks/main.yml b/scripts/vagrant/zeppelin-dev/roles/java8jdk/tasks/main.yml new file mode 100644 index 0000000..a1b64bb --- /dev/null +++ b/scripts/vagrant/zeppelin-dev/roles/java8jdk/tasks/main.yml @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. + +- name: Install openjdk-8 + apt: pkg=openjdk-8-jdk state=present + http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/scripts/vagrant/zeppelin-dev/roles/nodejs/tasks/main.yml ---------------------------------------------------------------------- diff --git a/scripts/vagrant/zeppelin-dev/roles/nodejs/tasks/main.yml b/scripts/vagrant/zeppelin-dev/roles/nodejs/tasks/main.yml index 9cf009a..7c5596f 100755 --- a/scripts/vagrant/zeppelin-dev/roles/nodejs/tasks/main.yml +++ b/scripts/vagrant/zeppelin-dev/roles/nodejs/tasks/main.yml @@ -13,17 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Install Node.js from the official Node.js +# Install Node.js from package --- -- name: Download official Linux x64 distribution from Node.js - get_url: url=http://nodejs.org/dist/v0.12.8/node-v0.12.8-linux-x64.tar.gz dest=/tmp/node-v0.12.8-linux-x64.tar.gz - -- name: Unpack node - unarchive: src=/tmp/node-v0.12.8-linux-x64.tar.gz dest=/tmp/ copy=no - - name: Install Node.js - command: tar -C /usr/local --strip-components 1 -xzf /tmp/node-v0.12.8-linux-x64.tar.gz - args: - creates: /usr/local/bin/node + apt: pkg=nodejs state=present + +- name: Install npm + apt: pkg=npm state=present http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/scripts/vagrant/zeppelin-dev/roles/r/tasks/main.yml ---------------------------------------------------------------------- diff --git a/scripts/vagrant/zeppelin-dev/roles/r/tasks/main.yml b/scripts/vagrant/zeppelin-dev/roles/r/tasks/main.yml index 54285d8..071b4b8 100644 --- a/scripts/vagrant/zeppelin-dev/roles/r/tasks/main.yml +++ b/scripts/vagrant/zeppelin-dev/roles/r/tasks/main.yml @@ -16,21 +16,6 @@ # Install R binaries and CRAN packages --- -# The Ubuntu archives on CRAN are signed with a key with ID E084DAB9. Add this key to the system. -- name: repository | add public key - apt_key: - id: E084DAB9 - keyserver: keyserver.ubuntu.com - state: present - -# in order to get the latest version of R, add CRAN repository to the to the list of sources -- name: repository | add cran-r - apt_repository: - repo: "{{item.type}} {{item.url}}" - state: present - update_cache: true - with_items: r_repository - - name: Install R. This may take a while. apt: pkg=r-base state=present http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7da83eaa/scripts/vagrant/zeppelin-dev/roles/ruby/tasks/main.yml ---------------------------------------------------------------------- diff --git a/scripts/vagrant/zeppelin-dev/roles/ruby/tasks/main.yml b/scripts/vagrant/zeppelin-dev/roles/ruby/tasks/main.yml index 01cdc5f..d7ab776 100644 --- a/scripts/vagrant/zeppelin-dev/roles/ruby/tasks/main.yml +++ b/scripts/vagrant/zeppelin-dev/roles/ruby/tasks/main.yml @@ -14,14 +14,11 @@ # limitations under the License. # setup ruby -# Assumes Ubuntu Server 14.04 LTS +# Assumes Ubuntu Server 16.04 LTS --- -- name: Install ruby 1.9.3 - apt: pkg=ruby1.9.3 state=present - -- name: set global ruby version - alternatives: name=ruby path=/usr/bin/ruby1.9.1 link=/usr/bin/ruby +- name: Install ruby + apt: pkg=ruby state=present - name: Install make apt: pkg=make state=latest