summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--.goreleaser.yml2
-rwxr-xr-xscripts/bundle_licenses.sh34
3 files changed, 39 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index dd82b4451..9be8b53fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,9 @@ dist/
# exclude the copy of swagger.yaml moved into assets during packaging
web/assets/swagger.yaml
+# exclude the copy of all_licenses.txt moved into assets during packaging
+web/assets/all_licenses.txt
+
# exludes docker-volume from exemple/docker-compose
example/docker-compose/docker-volume
diff --git a/.goreleaser.yml b/.goreleaser.yml
index 6b3d79f38..03f305890 100644
--- a/.goreleaser.yml
+++ b/.goreleaser.yml
@@ -17,6 +17,8 @@ before:
- yarn --cwd ./web/source install
- yarn --cwd ./web/source ts-patch install # https://typia.io/docs/setup/#manual-setup
- yarn --cwd ./web/source build
+ # Bundle all licenses into web/assets/all_licenses.txt
+ - ./scripts/bundle_licenses.sh
# https://goreleaser.com/customization/build/
builds:
diff --git a/scripts/bundle_licenses.sh b/scripts/bundle_licenses.sh
new file mode 100755
index 000000000..a883a0d8f
--- /dev/null
+++ b/scripts/bundle_licenses.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+set -ex
+
+# Split on
+# new line
+IFS='
+'
+
+license_filter() { grep -iE '.*/license(\.\w+)?$'; }
+
+OUTPUT='./web/assets/all_licenses.txt'
+echo '' > "$OUTPUT" # reset output
+
+# Copy over any licenses in our golang dependencies
+for file in $(find ./vendor | license_filter); do
+ echo "${file}:" >> "$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 "${file}:" >> "$OUTPUT"
+ cat "$file" >> "$OUTPUT"
+ echo >> "$OUTPUT"
+done
+
+# Copy over misc other licenses
+for file in ./LICENSE \
+ ./web/source/nollamasworker/sha256.js; do
+ echo "${file}:" >> "$OUTPUT"
+ cat "$file" >> "$OUTPUT"
+ echo >> "$OUTPUT"
+done