### _Why are the changes needed?_ #### Motivation: - speed up maven building and testing with `mvnd` (https://github.com/apache/maven-mvnd). `mvnd` itself embeds exactly the same distribution of maven with more improvements and features on the client side and compilation server in daemon mode. - also inspired by custom github action for mvnd installing in Apache Camel (https://github.com/apache/camel/blob/main/.github/actions/install-mvnd/action.yml) #### Changes in this PR: - introducing `mvnd` by adding `build/mvnd` script - use `mvnd` version `0.9.0` which embeds `maven` 3.8.7. The maven version embedded in `mvnd` is also check and guaranteed the same as maven version required in pom by `build/mvnd` script. - use mvnd in CI jobs of Depedency Check and Style Check #### Comparision - CI jobs (both with maven dependencies cached in local repo) Job | with `build/mvn` | with `build/mvnd` --- | --- | --- Dependency Check | 9min1sec;[see log](https://github.com/apache/kyuubi/actions/runs/3966175262/jobs/6796688187) | 6min 46 sec ; [see log](https://github.com/apache/kyuubi/actions/runs/4124518481/jobs/7123867015) Style Check | 10min32sec ; [see log](https://github.com/apache/kyuubi/actions/runs/4122613274/jobs/7119603428) | 7min50s ; [see log](https://github.com/apache/kyuubi/actions/runs/4125013599/jobs/7125006946) Licence Check | 32s ; [see log](https://github.com/apache/kyuubi/actions/runs/4130799867/jobs/7137835062) | 21s ; [see log](https://github.com/apache/kyuubi/actions/runs/4130923126/jobs/7138088114) - building entire maven project on local machine (skipping test running and style checking with `fast` profile) `build/mvnd clean install -Pfast` <img width="645" alt="Pasted Graphic" src="https://user-images.githubusercontent.com/1935105/217001594-52dfd19d-6c57-4bc4-8336-90bb0c030bd4.png"> `build/mvn clean install -Pfast` <img width="643" alt="Pasted Graphic 1" src="https://user-images.githubusercontent.com/1935105/217001619-c2ebe7e3-bd14-4f5c-bb02-2ae4ae99cf7f.png"> ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [ ] Add screenshots for manual tests if appropriate - [x] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4274 from bowenliang123/ci-mvnd. Closes #4274 380c1c9ea [liangbowen] update cache key a93bba7b7 [liangbowen] style bc8da133e [Bowen Liang] Merge branch 'master' into ci-mvnd 97becc035 [liangbowen] add `build/maven-mvnd-*/**` to rat-excludes 5b61f50b9 [liangbowen] apply mvnd to license check 7be181d0f [liangbowen] typo in build/mvnd c52861df8 [liangbowen] update f6d0eb28c [liangbowen] introduce mvnd Lead-authored-by: liangbowen <liangbowen@gf.com.cn> Co-authored-by: Bowen Liang <bowenliang@apache.org> Signed-off-by: Cheng Pan <chengpan@apache.org>
58 lines
1.5 KiB
Plaintext
58 lines
1.5 KiB
Plaintext
#
|
|
# 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.
|
|
#
|
|
|
|
**/.*/**
|
|
**/*.json
|
|
**/*.prefs
|
|
**/*.log
|
|
**/*.md
|
|
**/*.iml
|
|
**/target/**
|
|
**/out/**
|
|
**/spark-warehouse/**
|
|
**/metastore_db/**
|
|
**/licenses/LICENSE*
|
|
**/licenses-binary/LICENSE*
|
|
**/dependency-reduced-pom.xml
|
|
**/scalastyle-output.xml
|
|
NOTICE*
|
|
docs/**
|
|
build/apache-maven-*/**
|
|
build/maven-mvnd-*/**
|
|
build/scala-*/**
|
|
**/**/operation_logs/**/**
|
|
**/**/server_operation_logs/**/**
|
|
**/**/engine_operation_logs/**/**
|
|
**/*.output.schema
|
|
**/apache-kyuubi-*-bin*/**
|
|
**/benchmarks/**
|
|
**/jquery-*.min.js
|
|
**/semantic.min.js
|
|
**/semantic.min.css
|
|
**/icon.png
|
|
**/icon.min.css
|
|
**/org/apache/kyuubi/ui/static/assets/**
|
|
**/org/apache/kyuubi/ui/swagger/**
|
|
**/org.apache.spark.status.AppHistoryServerPlugin
|
|
**/metadata-store-schema*.sql
|
|
**/*.derby.sql
|
|
**/*.mysql.sql
|
|
**/pnpm-lock.yaml
|
|
**/node_modules/**
|
|
**/gen/*
|
|
**/*.tokens
|