From e92071a67c7110a6b9e1e745b6969810aa665adc Mon Sep 17 00:00:00 2001 From: Kent Yao Date: Fri, 25 Sep 2020 15:40:41 +0800 Subject: [PATCH] Suppport making distribution --- bin/load-kyuubi-env.sh | 11 +++++++++- build/dist | 50 +++++++++++++++++++++++++++++++++++++----- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/bin/load-kyuubi-env.sh b/bin/load-kyuubi-env.sh index 43a3965aa..caa7730fc 100755 --- a/bin/load-kyuubi-env.sh +++ b/bin/load-kyuubi-env.sh @@ -53,8 +53,17 @@ if [[ -z ${JAVA_HOME} ]]; then fi export KYUUBI_SCALA_VERSION="${KYUUBI_SCALA_VERSION:-"2.12"}" +SPARK_VERSION_BUILD="$(grep "Spark " "$KYUUBI_HOME/RELEASE" | awk -F ' ' '{print $2}')" +HADOOP_VERSION_BUILD="$(grep "Hadoop " "$KYUUBI_HOME/RELEASE" | awk -F ' ' '{print $2}')" +HIVE_VERSION_BUILD="$(grep "Hive " "$KYUUBI_HOME/RELEASE" | awk -F ' ' '{print $2}')" -SPARK_BUILTIN="${KYUUBI_HOME}/externals/spark-3.0.1-bin-hadoop2.7" +if [[ ${HIVE_VERSION_BUILD:0:3} == "2.3" ]]; then + HIVE_VERSION_SUFFIX="" +else + HIVE_VERSION_SUFFIX="-hive1.2" +fi + +SPARK_BUILTIN="${KYUUBI_HOME}/externals/spark-$SPARK_VERSION_BUILD-bin-hadoop${HADOOP_VERSION_BUILD:0:3}$HIVE_VERSION_SUFFIX" if [[ ! -d ${SPARK_BUILTIN} ]]; then SPARK_BUILTIN="${KYUUBI_HOME}/externals/kyuubi-download/target/spark-3.0.1-bin-hadoop2.7" diff --git a/build/dist b/build/dist index 975e8bc59..657be283d 100755 --- a/build/dist +++ b/build/dist @@ -107,11 +107,31 @@ VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null\ | grep -v "WARNING"\ | tail -n 1) +JAVA_VERSION=$("$MVN" help:evaluate -Dexpression=java.version $@ 2>/dev/null\ + | grep -v "INFO"\ + | grep -v "WARNING"\ + | tail -n 1) + +SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\ + | grep -v "INFO"\ + | grep -v "WARNING"\ + | tail -n 1) + SPARK_VERSION=$("$MVN" help:evaluate -Dexpression=spark.version $@ 2>/dev/null\ | grep -v "INFO"\ | grep -v "WARNING"\ | tail -n 1) +HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\ + | grep -v "INFO"\ + | grep -v "WARNING"\ + | tail -n 1) + +HIVE_VERSION=$("$MVN" help:evaluate -Dexpression=hive.version $@ 2>/dev/null\ + | grep -v "INFO"\ + | grep -v "WARNING"\ + | tail -n 1) + echo "Building Kyuubi package of version $VERSION against Spark version - $SPARK_VERSION" if [[ "$NAME" == "none" ]]; then @@ -133,18 +153,36 @@ echo -e "\$ ${BUILD_COMMAND[@]}\n" # Make directories rm -rf "$DISTDIR" -mkdir -p "$DISTDIR/lib" -echo "Kyuubi $VERSION $GITREVSTRING built for Spark $SPARK_VERSION" > "$DISTDIR/RELEASE" +mkdir -p "$DISTDIR/jars" +mkdir -p "$DISTDIR/pid" +mkdir -p "$DISTDIR/logs" +mkdir -p "$DISTDIR/work" +mkdir -p "$DISTDIR/externals/engines/spark" +echo "Kyuubi $VERSION $GITREVSTRING built for" > "$DISTDIR/RELEASE" +echo "Java $JAVA_VERSION" >> "$DISTDIR/RELEASE" +echo "Scala $SCALA_VERSION" >> "$DISTDIR/RELEASE" +echo "Spark $SPARK_VERSION" >> "$DISTDIR/RELEASE" +echo "Hadoop $HADOOP_VERSION" >> "$DISTDIR/RELEASE" +echo "Hive $HIVE_VERSION" >> "$DISTDIR/RELEASE" echo "Build flags: $@" >> "$DISTDIR/RELEASE" -# Copy jar -cp "$KYUUBI_HOME/kyuubi-server/target/kyuubi-server-$VERSION.jar" "$DISTDIR/lib/" +# Copy jars +cp -r "$KYUUBI_HOME/kyuubi-assembly/target/scala-$SCALA_VERSION/jars/" "$DISTDIR/jars" +## cp engines + +if [[ ${HIVE_VERSION:0:3} == "2.3" ]]; then + HIVE_VERSION_SUFFIX="" +else + HIVE_VERSION_SUFFIX="-hive1.2" +fi + +cp -r "$KYUUBI_HOME/externals/kyuubi-download/target/spark-$SPARK_VERSION-bin-hadoop${HADOOP_VERSION:0:3}$HIVE_VERSION_SUFFIX/" "$DISTDIR/externals/spark-$SPARK_VERSION-bin-hadoop${HADOOP_VERSION:0:3}$HIVE_VERSION_SUFFIX/" +cp "$KYUUBI_HOME/externals/kyuubi-spark-sql-engine/target/kyuubi-spark-sql-engine-$VERSION.jar" "$DISTDIR/externals/engines/spark" # Copy license and ASF files cp "$KYUUBI_HOME/LICENSE" "$DISTDIR" cp -r "$KYUUBI_HOME/bin" "$DISTDIR" -cp -r "$KYUUBI_HOME/docs" "$DISTDIR" - +cp -r "$KYUUBI_HOME/conf" "$DISTDIR" if [[ "$MAKE_TGZ" == "true" ]]; then TARDIR_NAME=kyuubi-$VERSION-bin-$NAME