 [](https://github.com/yaooqinn/kyuubi/pull/416)     [❨?❩](https://pullrequestbadge.com/?utm_medium=github&utm_source=yaooqinn&utm_campaign=badge_info)<!-- PR-BADGE: PLEASE DO NOT REMOVE THIS COMMENT --> <!-- Thanks for sending a pull request! Here are some tips for you: 1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html 2. If the PR is related to an issue in https://github.com/yaooqinn/kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'. 3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'. --> ### _Why are the changes needed?_ <!-- Please clarify why the changes are needed. For instance, 1. If you add a feature, you can talk about the use case of it. 2. If you fix a bug, you can clarify why it is a bug. --> Detect Dependency List Change, to let us and users know what actually release with Kyuubi ### _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/latest/tools/testing.html#running-tests) locally before make a pull request Closes #416 from yaooqinn/dep. 5938423 [Kent Yao] update doc 037c897 [Kent Yao] nit 2b06bf9 [Kent Yao] Detected Dependency List Change for better dependency management Authored-by: Kent Yao <yao@apache.org> Signed-off-by: Kent Yao <yao@apache.org>
91 lines
2.8 KiB
Bash
Executable File
91 lines
2.8 KiB
Bash
Executable File
#!/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.
|
|
#
|
|
|
|
set -o pipefail
|
|
set -e
|
|
set -x
|
|
|
|
export LC_ALL=C
|
|
|
|
PWD=$(cd "$(dirname "$0")"/.. || exit; pwd)
|
|
|
|
MVN="${PWD}"/build/mvn
|
|
|
|
|
|
DEP_PR="${PWD}"/dev/dependencyList.tmp
|
|
DEP="${PWD}"/dev/dependencyList
|
|
|
|
|
|
function build_classpath() {
|
|
$MVN dependency:build-classpath -pl :kyuubi-assembly |\
|
|
grep -v "INFO" | \
|
|
tr ":" "\n" | \
|
|
awk -F '/' '{
|
|
artifact_id=$(NF-2);
|
|
version=$(NF-1);
|
|
jar_name=$NF;
|
|
classifier_start_index=length(artifact_id"-"version"-") + 1;
|
|
classifier_end_index=index(jar_name, ".jar") - 1;
|
|
classifier=substr(jar_name, classifier_start_index, classifier_end_index - classifier_start_index + 1);
|
|
print artifact_id"/"version"/"classifier"/"jar_name
|
|
}' | grep -v "kyuubi" | sort >> "${DEP_PR}"
|
|
}
|
|
|
|
function git_diff() {
|
|
the_diff=$(git diff ${DEP} ${DEP_PR})
|
|
rm -rf "${DEP_PR}"
|
|
if [[ -n $the_diff ]]; then
|
|
echo "Dependency List Changed Detected: "
|
|
echo ${the_diff}
|
|
echo "To update the dependency file, run './build/dependency.sh --replace'."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
rm -rf "${DEP_PR}"
|
|
cat >"${DEP_PR}"<<EOF
|
|
#
|
|
# 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.
|
|
#
|
|
|
|
EOF
|
|
|
|
build_classpath
|
|
|
|
if [[ "$1" == "--replace" ]]; then
|
|
rm -rf "${DEP}"
|
|
mv "${DEP_PR}" "${DEP}"
|
|
exit 0
|
|
fi
|
|
|
|
git_diff
|
|
exit 0
|