blob: ddf8701107665f30313ff4912c6d06fc9929dd98 [file] [log] [blame]
#!/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/dependency-check/all-dependencies.txt'
# store all our known dependencies
known_third_party_dependencies_txt='tools/dependency-check/known-dependencies.txt'
# Below files is generated by this script.
# store all EventMesh self module's name.
self_modules_txt='tools/dependency-check/self-modules.txt'
# store all third part dependencies
third_party_dependencies_txt='tools/dependency-check/third-party-dependencies.txt'
mkdir $decompress_conf || true
tar -zxf build/incubator-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