summaryrefslogtreecommitdiff
path: root/http/bin
diff options
context:
space:
mode:
Diffstat (limited to 'http/bin')
-rwxr-xr-xhttp/bin/prune_out32
1 files changed, 32 insertions, 0 deletions
diff --git a/http/bin/prune_out b/http/bin/prune_out
new file mode 100755
index 0000000..1670ffd
--- /dev/null
+++ b/http/bin/prune_out
@@ -0,0 +1,32 @@
+#!/bin/sh -e
+
+for out in $(find out -type f)
+do
+ out_basename="$(basename "$out")"
+ out_ext="${out_basename##*\.}"
+ rel_path="$(echo "${out}" | cut -c5-)"
+
+ if [ -f "public/${rel_path}" ]; then
+ continue 2
+ fi
+
+ base_rel_path="${rel_path%%.${out_ext}}"
+ src_path="src/${base_rel_path}.upp${out_ext}"
+ if [ -f "$src_path" ]; then
+ continue 2
+ fi
+
+ for layout in $(find share/layouts -name "*.layout.upp${out_ext}"); do
+ layout="$(basename "$layout")"
+ layout="${layout::${#layout}-15}"
+ rel_path="$(echo "${out}" | cut -c5-)"
+ base_rel_path="${rel_path%%.${out_ext}}"
+ src_path="src/${base_rel_path}.${layout}.upp${out_ext}"
+ if [ -f "$src_path" ]; then
+ continue 2
+ fi
+ done
+
+ echo "No source file found to match ${out}: removing it"
+ rm "$out"
+done