### _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> |
||
|---|---|---|
| .. | ||
| release | ||
| dependency.sh | ||
| dist | ||
| Dockerfile | ||
| kyuubi-build-info | ||
| kyuubi-build-info.cmd | ||
| mvn | ||
| mvnd | ||
| util.sh | ||