gotosocial/scripts/bundle_licenses.sh

44 lines
2 KiB
Bash
Raw Normal View History

#!/bin/sh
set -ex
# Split on
# new line
IFS='
'
license_filter() { grep -iE '.*/license(\.\w+)?$'; }
OUTPUT='./web/assets/all_licenses.txt'
echo 'The GoToSocial software uses the following dependencies, whose licenses are reproduced in full:' > "$OUTPUT" # reset output
echo >> "$OUTPUT"
# Copy over any licenses in our golang dependencies
for file in $(find ./vendor | license_filter); do
echo "----------------------------------------------------------" >> "$OUTPUT"
echo >> "$OUTPUT"
echo "${file}:" >> "$OUTPUT"
echo >> "$OUTPUT"
cat "${file}" >> "$OUTPUT"
echo >> "$OUTPUT"
done
# Copy over any licenses in our javacsript dependencies
for file in $(find ./web/source | license_filter); do
echo "----------------------------------------------------------" >> "$OUTPUT"
echo >> "$OUTPUT"
echo "${file}:" >> "$OUTPUT"
echo >> "$OUTPUT"
cat "${file}" >> "$OUTPUT"
echo >> "$OUTPUT"
done
# Copy over misc other licenses
for file in ./LICENSE; do
echo "----------------------------------------------------------" >> "$OUTPUT"
echo >> "$OUTPUT"
echo "${file}:" >> "$OUTPUT"
echo >> "$OUTPUT"
cat "${file}" >> "$OUTPUT"
echo >> "$OUTPUT"
done