You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ch...@apache.org on 2023/04/12 12:14:50 UTC

[kyuubi] 04/04: Revert "[KYUUBI #4274] [INFRA] Introduce `mvnd` to speed up CI jobs of Dependency, Licence and Style Check"

This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git

commit 6431225b441193647c6134ab2587bd4f96d87638
Author: Cheng Pan <ch...@apache.org>
AuthorDate: Wed Apr 12 20:13:38 2023 +0800

    Revert "[KYUUBI #4274] [INFRA] Introduce `mvnd`  to speed up CI jobs of Dependency, Licence and Style Check"
    
    This reverts commit d862272645dab08878c8f99158977b622227e784.
---
 .github/actions/setup-mvnd/action.yaml |  32 --------
 .github/workflows/dep.yml              |   7 +-
 .github/workflows/license.yml          |   4 +-
 .github/workflows/style.yml            |  16 ++--
 .gitignore                             |   1 -
 .rat-excludes                          |   1 -
 build/mvnd                             | 134 ---------------------------------
 pom.xml                                |   1 -
 8 files changed, 10 insertions(+), 186 deletions(-)

diff --git a/.github/actions/setup-mvnd/action.yaml b/.github/actions/setup-mvnd/action.yaml
deleted file mode 100644
index d7497e332..000000000
--- a/.github/actions/setup-mvnd/action.yaml
+++ /dev/null
@@ -1,32 +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: 'setup-mvnd'
-description: 'Setup the maven daemon'
-runs:
-  using: composite
-  steps:
-    - name: Cache Mvnd
-      uses: actions/cache@v3
-      with:
-        path: |
-          build/maven-mvnd-*
-          build/apache-maven-*
-        key: setup-mvnd-${{ runner.os }}-mvnd
-    - name: Check Mvnd
-      run: build/mvnd -v
-      shell: bash
diff --git a/.github/workflows/dep.yml b/.github/workflows/dep.yml
index ebda6b47e..47e0d7023 100644
--- a/.github/workflows/dep.yml
+++ b/.github/workflows/dep.yml
@@ -26,7 +26,6 @@ on:
       # when pom or dependency workflow changes
       - '**/pom.xml'
       - '.github/workflows/dep.yml'
-      - .github/actions/setup-mvnd/*.yaml
 
 concurrency:
   group: dep-${{ github.head_ref || github.run_id }}
@@ -45,12 +44,10 @@ jobs:
           java-version: 8
           cache: 'maven'
           check-latest: false
-      - name: Setup Mvnd
-        uses: ./.github/actions/setup-mvnd
       - name: Check kyuubi modules available
         id: modules-check
         run: >-
-          build/mvnd dependency:resolve validate
+          build/mvn dependency:resolve validate
           -DincludeGroupIds="org.apache.kyuubi" -DincludeScope="compile"
           -Pfast -Denforcer.skip=false
           -pl kyuubi-ctl,kyuubi-server,kyuubi-assembly -am
@@ -60,7 +57,7 @@ jobs:
           MAVEN_OPTS: -Dorg.slf4j.simpleLogger.defaultLogLevel=error
         if: steps.modules-check.conclusion == 'success' && steps.modules-check.outcome == 'failure'
         run: >-
-          build/mvnd clean install
+          build/mvn clean install
           -Pflink-provided,spark-provided,hive-provided
           -Dmaven.javadoc.skip=true
           -Drat.skip=true
diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml
index a490def91..17591dacb 100644
--- a/.github/workflows/license.yml
+++ b/.github/workflows/license.yml
@@ -42,10 +42,8 @@ jobs:
           java-version: 8
           cache: 'maven'
           check-latest: false
-      - name: Setup Mvnd
-        uses: ./.github/actions/setup-mvnd
       - run: >-
-          build/mvnd org.apache.rat:apache-rat-plugin:check
+          build/mvn org.apache.rat:apache-rat-plugin:check
           -Ptpcds -Pspark-block-cleaner -Pkubernetes-it
           -Pspark-3.1 -Pspark-3.2 -Pspark-3.3
       - name: Upload rat report
diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml
index 562e93120..e45b826fc 100644
--- a/.github/workflows/style.yml
+++ b/.github/workflows/style.yml
@@ -47,16 +47,14 @@ jobs:
           java-version: 8
           cache: 'maven'
           check-latest: false
-      - name: Setup Mvnd
-        uses: ./.github/actions/setup-mvnd
       - name: Setup Python 3
         uses: actions/setup-python@v4
         with:
           python-version: '3.9'
           cache: 'pip'
-      - name: Check kyuubi modules available
+      - name: Check kyuubi modules avaliable
         id: modules-check
-        run: build/mvnd dependency:resolve -DincludeGroupIds="org.apache.kyuubi" -DincludeScope="compile" -DexcludeTransitive=true ${{ matrix.profiles }}
+        run: build/mvn dependency:resolve -DincludeGroupIds="org.apache.kyuubi" -DincludeScope="compile" -DexcludeTransitive=true ${{ matrix.profiles }}
         continue-on-error: true
 
       - name: Install
@@ -65,13 +63,13 @@ jobs:
         if: steps.modules-check.conclusion == 'success' && steps.modules-check.outcome == 'failure'
         run: |
           MVN_OPT="-DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=warn -Dmaven.javadoc.skip=true -Drat.skip=true -Dscalastyle.skip=true -Dspotless.check.skip"
-          build/mvnd clean install ${MVN_OPT} -Pflink-provided,hive-provided,spark-provided,spark-block-cleaner,spark-3.2,tpcds
-          build/mvnd clean install ${MVN_OPT} -pl extensions/spark/kyuubi-extension-spark-3-1 -Pspark-3.1
-          build/mvnd clean install ${MVN_OPT} -pl extensions/spark/kyuubi-extension-spark-3-3,extensions/spark/kyuubi-spark-connector-kudu,extensions/spark/kyuubi-spark-connector-hive -Pspark-3.3
+          build/mvn clean install ${MVN_OPT} -Pflink-provided,hive-provided,spark-provided,spark-block-cleaner,spark-3.2,tpcds
+          build/mvn clean install ${MVN_OPT} -pl extensions/spark/kyuubi-extension-spark-3-1 -Pspark-3.1
+          build/mvn clean install ${MVN_OPT} -pl extensions/spark/kyuubi-extension-spark-3-3,extensions/spark/kyuubi-spark-connector-kudu,extensions/spark/kyuubi-spark-connector-hive -Pspark-3.3
 
       - name: Scalastyle with maven
         id: scalastyle-check
-        run: build/mvnd scalastyle:check ${{ matrix.profiles }}
+        run: build/mvn scalastyle:check ${{ matrix.profiles }}
       - name: Print scalastyle error report
         if: failure() && steps.scalastyle-check.outcome != 'success'
         run: >-
@@ -85,7 +83,7 @@ jobs:
         run: |
           SPOTLESS_BLACK_VERSION=$(build/mvn help:evaluate -Dexpression=spotless.python.black.version -q -DforceStdout)
           pip install black==$SPOTLESS_BLACK_VERSION
-          build/mvnd spotless:check ${{ matrix.profiles }} -Pspotless-python
+          build/mvn spotless:check ${{ matrix.profiles }} -Pspotless-python
       - name: setup npm
         uses: actions/setup-node@v3
         with:
diff --git a/.gitignore b/.gitignore
index 190294d06..a43859338 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,7 +40,6 @@
 .scala_dependencies
 .settings
 build/apache-maven*
-build/maven-mvnd*
 build/release/tmp
 build/scala*
 build/test
diff --git a/.rat-excludes b/.rat-excludes
index 7a841cf9c..645c673d0 100644
--- a/.rat-excludes
+++ b/.rat-excludes
@@ -32,7 +32,6 @@
 NOTICE*
 docs/**
 build/apache-maven-*/**
-build/maven-mvnd-*/**
 build/scala-*/**
 **/**/operation_logs/**/**
 **/**/server_operation_logs/**/**
diff --git a/build/mvnd b/build/mvnd
deleted file mode 100755
index 493ee43ad..000000000
--- a/build/mvnd
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# 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.
-#
-
-# Determine the current working directory
-_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-# Preserve the calling directory
-_CALLING_DIR="$(pwd)"
-# Options used during compilation
-_COMPILE_JVM_OPTS="-Xms2g -Xmx2g -XX:ReservedCodeCacheSize=1g -Xss128m"
-
-if [ "$CI" ]; then
-  export MAVEN_CLI_OPTS="--no-transfer-progress --errors --fail-fast"
-fi
-
-# Installs any application tarball given a URL, the expected tarball name,
-# and, optionally, a checkable binary path to determine if the binary has
-# already been installed
-## Arg1 - URL
-## Arg2 - Tarball Name
-## Arg3 - Checkable Binary
-install_app() {
-  local remote_tarball="$1/$2"
-  local local_tarball="${_DIR}/$2"
-  local binary="${_DIR}/$3"
-
-  # setup `curl` and `wget` silent options if we're running on Jenkins
-  local curl_opts="-L"
-  local wget_opts=""
-  curl_opts="--progress-bar ${curl_opts}"
-  wget_opts="--progress=bar:force ${wget_opts}"
-
-  if [ -z "$3" ] || [ ! -f "$binary" ]; then
-    # check if we already have the tarball
-    # check if we have curl installed
-    # download application
-    rm -f "$local_tarball"
-    [ ! -f "${local_tarball}" ] && [ "$(command -v curl)" ] && \
-      echo "exec: curl ${curl_opts} ${remote_tarball}" 1>&2 && \
-      curl ${curl_opts} "${remote_tarball}" > "${local_tarball}"
-    # if the file still doesn't exist, lets try `wget` and cross our fingers
-    [ ! -f "${local_tarball}" ] && [ "$(command -v wget)" ] && \
-      echo "exec: wget ${wget_opts} ${remote_tarball}" 1>&2 && \
-      wget ${wget_opts} -O "${local_tarball}" "${remote_tarball}"
-    # if both were unsuccessful, exit
-    [ ! -f "${local_tarball}" ] && \
-      echo -n "ERROR: Cannot download $2 with cURL or wget; " && \
-      echo "please install manually and try again." && \
-      exit 2
-    cd "${_DIR}" && tar -xzf "$2"
-    rm -rf "$local_tarball"
-  fi
-}
-
-function get_os_type() {
-  local unameOsOut=$(uname -s)
-  local osType
-  case "${unameOsOut}" in
-  Linux*) osType=linux ;;
-  Darwin*) osType=darwin ;;
-  CYGWIN*) osType=windows ;;
-  MINGW*) osType=windows ;;
-  *) osType="UNKNOWN:${unameOsOut}" ;;
-  esac
-  echo "$osType"
-}
-
-function get_os_arch() {
-  local unameArchOut="$(uname -m)"
-  local arch
-  case "${unameArchOut}" in
-  x86_64*) arch=amd64 ;;
-  arm64*) arch=aarch64 ;;
-  *) arch="UNKNOWN:${unameOsOut}" ;;
-  esac
-  echo "$arch"
-}
-
-# Determine the Mvnd version from the root pom.xml file and
-# install mvnd under the build/ folder if needed.
-function install_mvnd() {
-  local MVND_VERSION=$(grep "<mvnd.version>" "${_DIR}/../pom.xml" | head -n1 | awk -F '[<>]' '{print $3}')
-  local MVN_VERSION=$(grep "<maven.version>" "${_DIR}/../pom.xml" | head -n1 | awk -F '[<>]' '{print $3}')
-  MVND_BIN="$(command -v mvnd)"
-  if [ "$MVND_BIN" ]; then
-    local MVND_DETECTED_VERSION="$(mvnd -v 2>&1 | grep '(mvnd)' | awk '{print $5}')"
-    local MVN_DETECTED_VERSION="$(mvnd -v 2>&1 | grep 'Apache Maven' | awk 'NR==2 {print $3}')"
-  fi
-  # See simple version normalization: http://stackoverflow.com/questions/16989598/bash-comparing-version-numbers
-  function version { echo "$@" | awk -F. '{ printf("%03d%03d%03d\n", $1,$2,$3); }'; }
-
-  if [ $(version $MVND_DETECTED_VERSION) -ne $(version $MVND_VERSION) ]; then
-    local APACHE_MIRROR=${APACHE_MIRROR:-'https://downloads.apache.org'}
-    local OS_TYPE=$(get_os_type)
-    local ARCH=$(get_os_arch)
-
-    install_app \
-      "${APACHE_MIRROR}/maven/mvnd/${MVND_VERSION}" \
-      "maven-mvnd-${MVND_VERSION}-${OS_TYPE}-${ARCH}.tar.gz" \
-      "maven-mvnd-${MVND_VERSION}-${OS_TYPE}-${ARCH}/bin/mvnd"
-
-    MVND_BIN="${_DIR}/maven-mvnd-${MVND_VERSION}-${OS_TYPE}-${ARCH}/bin/mvnd"
-  else
-    if [ "$(version $MVN_DETECTED_VERSION)" -ne "$(version $MVN_VERSION)" ]; then
-      echo "Mvnd $MVND_DETECTED_VERSION embedded maven version $MVN_DETECTED_VERSION is not equivalent to $MVN_VERSION required in pom."
-      exit 1
-    fi
-  fi
-}
-
-install_mvnd
-
-cd "${_CALLING_DIR}"
-
-# Set any `mvn` options if not already present
-export MAVEN_OPTS=${MAVEN_OPTS:-"$_COMPILE_JVM_OPTS"}
-
-echo "Using \`mvnd\` from path: $MVND_BIN" 1>&2
-${MVND_BIN} $MAVEN_CLI_OPTS "$@"
diff --git a/pom.xml b/pom.xml
index bbbabc62b..aa4a83a56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -110,7 +110,6 @@
     <properties>
         <java.version>1.8</java.version>
         <maven.version>3.8.7</maven.version>
-        <mvnd.version>0.9.0</mvnd.version>
         <maven.compiler.source>${java.version}</maven.compiler.source>
         <maven.compiler.target>${java.version}</maven.compiler.target>
         <scala.version>2.12.17</scala.version>