#!/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))"