forked from apache/eventmesh
-
Notifications
You must be signed in to change notification settings - Fork 0
/
check-dependencies.sh
56 lines (47 loc) · 2.26 KB
/
check-dependencies.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin 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.
#
# ********************************************************************
# This script used to check the dependencies are all in our exception.
# This will not check the license legality
# ********************************************************************
# Used to store the tmp files.
decompress_conf='build/tmp'
# store all dependencies from our binary jar.
all_dependencies_txt='tools/third-party-dependencies/all-dependencies.txt'
# store all our known dependencies
known_third_party_dependencies_txt='tools/third-party-dependencies/known-dependencies.txt'
# Below files is generated by this script.
# store all EventMesh self module's name.
self_modules_txt='tools/third-party-dependencies/self-modules.txt'
# store all third part dependencies
third_party_dependencies_txt='tools/third-party-dependencies/third-party-dependencies.txt'
mkdir $decompress_conf || true
tar -zxf build/EventMesh*.tar.gz -C $decompress_conf
./gradlew printProjects | grep '.jar' > "$self_modules_txt"
find "$decompress_conf" -name "*.jar" -exec basename {} \; | uniq | sort > "$all_dependencies_txt"
grep -wvf "$self_modules_txt" "$all_dependencies_txt" | uniq | sort > "$third_party_dependencies_txt"
# If the check is success it will return 0
sort "$known_third_party_dependencies_txt" | diff - "$third_party_dependencies_txt"
compareCode=$?
if [ $compareCode -eq 0 ]
then
echo "Dependencies check success"
else
echo "Dependencies check failed, please check if you add unknown dependencies"
exit $compareCode
fi