constellation/bazel/ci/license_header.sh.in

43 lines
854 B
Bash

#!/usr/bin/env bash
# Compare licenses of Go dependencies against a whitelist.
###### script header ######
lib=$(realpath @@BASE_LIB@@) || exit 1
stat "${lib}" >> /dev/null || exit 1
# shellcheck source=../sh/lib.bash
if ! source "${lib}"; then
echo "Error: could not find import"
exit 1
fi
cd "${BUILD_WORKSPACE_DIRECTORY}"
###### script body ######
echo "Checking files for missing company license header..."
noHeader=$(
grep \
-rL \
--include='*.go' \
--exclude-dir 3rdparty \
--exclude-dir build \
-e'SPDX-License-Identifier: AGPL-3.0-only' \
-e'DO NOT EDIT' | { grep -v internal/cloud/openstack/clouds || true; }
)
if [[ -z ${noHeader} ]]; then
exit 0
fi
echo "The following files are missing a license header:"
readarray -t <<< "${noHeader}"
for file in "${MAPFILE[@]}"; do
echo " ${file}"
done
exit 1