piazza-in-festa-wp/build.sh

35 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env bash
# Costruisce lo zip da caricare su WordPress.org e da mettere in download sul
# sito. Dentro c'e' una sola cartella `piazza-in-festa/`, come si aspetta chi
# installa da "Aggiungi plugin > Carica plugin".
#
# ./build.sh -> dist/piazza-in-festa.zip
#
# Nello zip finisce SOLO quello che serve a far girare il plugin: niente .git,
# niente sorgenti di sviluppo, niente questo script.
set -euo pipefail
cd "$(dirname "$0")"
SLUG="piazza-in-festa"
VERSIONE=$(grep -m1 "^ \* Version:" piazza-in-festa.php | awk '{print $3}')
DIST="dist"
STAGE="$DIST/$SLUG"
rm -rf "$DIST"
mkdir -p "$STAGE"
# Elenco esplicito invece di una lista di esclusioni: se domani si aggiunge un
# file di sviluppo, non finisce nello zip per distrazione.
cp piazza-in-festa.php uninstall.php readme.txt LICENSE "$STAGE/"
cp -R includes blocks assets "$STAGE/"
# Niente cartella languages: i plugin ospitati su wordpress.org prendono le
# traduzioni da translate.wordpress.org, e la review rifiuta i .po/.mo/.json
# dentro al pacchetto. Il .po italiano resta nel repo solo come sorgente da
# importare li' una volta approvato il plugin.
( cd "$DIST" && zip -qr "$SLUG.zip" "$SLUG" )
rm -rf "$STAGE"
echo "$DIST/$SLUG.zip (versione $VERSIONE, $(du -h "$DIST/$SLUG.zip" | cut -f1))"