Anpassungen für ATN-Listing

This commit is contained in:
2026-09-21 21:44:35 +02:00
parent 8380dc1584
commit 2e9d62cf95
26 changed files with 207 additions and 598 deletions

View File

@@ -11,18 +11,45 @@ NAME="paperless-connector"
VERSION="$(sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' manifest.json | head -1)"
OUT="${NAME}-${VERSION}.xpi"
# Vollständigkeit prüfen. zip überspringt fehlende Pfade stillschweigend -
# ohne diese Prüfung entstünde ein Paket, das sich nicht laden lässt.
# Paketinhalt als feste Liste. Nur was hier steht, landet in der .xpi -
# so geraten keine Altlasten (alte Dialoge, ungenutzte Symbole, Quell-SVGs
# aus make_icons.py) ins Paket. addons.thunderbird.net lehnt Pakete mit
# ungenutzten Dateien ab.
DATEIEN="
manifest.json
background.js
LICENSE
lib/client.js
lib/settings.js
lib/pdf.js
lib/mailpdf.js
ui/gemeinsam.css
ui/gemeinsam.js
ui/store.html
ui/store.js
ui/schritt.html
ui/schritt.js
ui/insert.html
ui/insert.js
ui/options.html
ui/options.js
_locales/de/messages.json
_locales/en/messages.json
_locales/fr/messages.json
icons/paperless-logo_16.png
icons/paperless-logo_32.png
icons/paperless-logo_64.png
icons/paperless-store_16.png
icons/paperless-store_32.png
icons/paperless-insert_16.png
icons/paperless-insert_32.png
"
# Vollständigkeit prüfen. zip überspringt fehlende Pfade nicht immer
# lautstark - ohne diese Prüfung entstünde ein Paket, das sich nicht
# laden lässt.
FEHLT=""
for f in manifest.json background.js \
lib/client.js lib/settings.js lib/pdf.js lib/mailpdf.js \
ui/store.html ui/store.js ui/schritt.html ui/schritt.js \
ui/insert.html ui/insert.js ui/options.html ui/options.js \
ui/gemeinsam.js ui/gemeinsam.css \
_locales/de/messages.json _locales/en/messages.json \
_locales/fr/messages.json \
icons/paperless-logo_64.png
do
for f in $DATEIEN; do
[ -e "$f" ] || FEHLT="$FEHLT $f\n"
done
if [ -n "$FEHLT" ]; then
@@ -32,14 +59,18 @@ if [ -n "$FEHLT" ]; then
exit 1
fi
rm -f "$OUT"
# Umgekehrte Prüfung: Dateien im Quellbaum, die nicht im Paket landen.
# Nur ein Hinweis - README, build.sh usw. gehören bewusst nicht hinein.
for f in $(find lib ui icons _locales -type f | sort); do
case " $(echo $DATEIEN) " in
*" $f "*) ;;
*) echo "Hinweis: nicht im Paket: $f" >&2 ;;
esac
done
zip -r -q "$OUT" \
manifest.json background.js \
lib ui icons _locales \
LICENSE \
-x "*.oxt" "*.xpi" "build.sh" "README.md" "SICHERHEIT.md" \
"make_icons.py" "*/.*"
rm -f "$OUT"
# shellcheck disable=SC2086
zip -q -X "$OUT" $DATEIEN
if ! unzip -l "$OUT" | grep -q 'manifest.json'; then
echo "ABBRUCH: manifest.json fehlt im erzeugten Paket." >&2