39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# check if we have tomcat(1)
|
|
if ! command -v tomcat >/dev/null 2>&1; then
|
|
printf "%s: Missing dependency: tomcat(1)\n"
|
|
exit 69 # sysexits(3) EX_UNAVAILABLE
|
|
fi
|
|
|
|
dir="$(pwd | sed 's/\//\n/g' | tail -n 1)"
|
|
|
|
for toml in $(find "$PWD" -name "Cargo.toml"); do
|
|
printf "Project: %s\n" "$(tomcat package.name "$toml")"
|
|
toml_lic="$(tomcat package.license "$toml")"
|
|
if ! test -n "$toml_lic"; then
|
|
printf "%s: Missing license information\n" "$(printf "%s\n" "$toml" |\
|
|
sed "s/^.\+$dir\///g")"
|
|
continue 2
|
|
fi
|
|
for file in $(find "$(printf "%s\n" "$toml" |\
|
|
sed 's/Cargo\.toml/src/g')" -name "*.rs")
|
|
do
|
|
info="$(head -n 2 "$file")"
|
|
if ! [ "$toml_lic" = "$(printf "%s\n" "$info" | tail -n 1 |\
|
|
sed -n 's/\/\/ SPDX-License-Identifier: //p')" ]
|
|
then
|
|
printf "%s: Missing or malformed license information\n" \
|
|
"$(printf "%s\n" "$file" | sed "s/^.\+$dir\///g")"
|
|
fi
|
|
if ! test -n "$(printf "%s\n" "$info" | head -n 1 |\
|
|
sed -n '/\/\/ Copyright (c) .\+/p')"
|
|
then
|
|
printf "%s: Missing or malformed copyright holder information\n" \
|
|
"$(printf "%s\n" "$file" | sed "s/^.\+$dir\///g")"
|
|
fi
|
|
done
|
|
done
|