gitpod/scripts/go-licenses.sh
2020-08-25 09:25:15 +00:00

29 lines
856 B
Bash
Executable File

#!/bin/sh
if [ "A$GITHUB_TOKEN" = "A" ]; then
echo "Please set the GITHUB_TOKEN env var to a personal access token. Otherwise this script won't work."
exit 1
fi
cd $(dirname "$0")/..
out=$PWD
tmpdir=$(mktemp -d)
(cd $tmpdir; curl -L https://github.com/mitchellh/golicense/releases/download/v0.1.1/golicense_0.1.1_linux_x86_64.tar.gz | tar xzv)
golicense=$tmpdir/golicense
for i in $(ls components); do
if [ -f "components/$i/go.mod" ]; then
echo "building $i"
cd components/$i
go build -o exec
echo "checking $i"
timeout 60 $golicense -plain -license=true exec >> $out/licenses.$i.txt
rm exec
cd -
fi
done
cat licenses.*.txt | sort | tr -s ' ' | uniq | sed -r 's/\s+/,/' | column -s , -t > $out/License.third-party.go.txt
echo "Output written to $out/License.third-party.go.txt"