mirror of
https://ghproxy.net/https://github.com/fairpm/fair-plugin.git
synced 2025-09-04 14:36:29 +08:00
69 lines
2.3 KiB
Bash
Executable file
69 lines
2.3 KiB
Bash
Executable file
#!/bin/bash -e
|
|
#
|
|
# Create our distribution zips.
|
|
|
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
|
|
# Prepare the distribution directory.
|
|
DIST_DIR="/tmp/fair-dist"
|
|
[ -d "$DIST_DIR" ] && rm -rf "$DIST_DIR"
|
|
mkdir "$DIST_DIR"
|
|
touch /tmp/fair-dist/MD5SUMS
|
|
touch /tmp/fair-dist/SHA1SUMS
|
|
touch /tmp/fair-dist/SHA256SUMS
|
|
touch /tmp/fair-dist/SHA384SUMS
|
|
|
|
# Bundle our plugin first.
|
|
[ -d /tmp/fair-temp ] && rm -rf /tmp/fair-temp
|
|
mkdir -p /tmp/fair-temp/wordpress/wp-content/plugins/fair-plugin
|
|
rsync -a --exclude-from="$SCRIPT_DIR/../.distignore" "$SCRIPT_DIR/.." /tmp/fair-temp/wordpress/wp-content/plugins/fair-plugin
|
|
|
|
echo "Fetching WordPress version data" >&2
|
|
VERSION_DATA=$(curl -s https://api.wordpress.org/core/version-check/1.7/)
|
|
AVAILABLE_VERSIONS=$(echo "$VERSION_DATA" | jq -r '.offers[] | .version')
|
|
|
|
# For each available version, download WP and add our plugin to the WP zip.
|
|
for VERSION in $AVAILABLE_VERSIONS; do
|
|
# Skip repeat versions via the API.
|
|
if [ -f "$DIST_DIR/wordpress-$VERSION-fair.zip" ]; then
|
|
echo "Skipping $VERSION (already bundled)" >&2
|
|
continue
|
|
fi
|
|
|
|
echo "Bundling $VERSION..." >&2
|
|
# Download the WP zip.
|
|
WP_ZIP_URL="https://wordpress.org/wordpress-$VERSION.zip"
|
|
WP_ZIP_FILE="/tmp/fair-temp/wordpress-$VERSION.zip"
|
|
echo " Downloading $WP_ZIP_URL..." >&2
|
|
curl -sSL "$WP_ZIP_URL" -o "$WP_ZIP_FILE"
|
|
EXPECTED_HASH=$(curl -sSL "$WP_ZIP_URL.sha1")
|
|
|
|
# Verify the checksum.
|
|
# (sha1 is suboptimal, but it's all we've got.)
|
|
echo " Verifying checksum" >&2
|
|
echo "$EXPECTED_HASH *$WP_ZIP_FILE" | sha1sum -c --status - || { echo "Checksum verification failed!" >&2; exit 1; }
|
|
|
|
# Add the plugin into the existing zip.
|
|
echo " Adding plugin" >&2
|
|
cd /tmp/fair-temp
|
|
zip -r /tmp/fair-temp/wordpress-$VERSION.zip wordpress/ >&2
|
|
cd - > /dev/null
|
|
|
|
# Rename altered zip.
|
|
mv /tmp/fair-temp/wordpress-$VERSION.zip "$DIST_DIR/wordpress-$VERSION-fair.zip"
|
|
|
|
# Recalculate hashes.
|
|
echo " Calculating hashes" >&2
|
|
cd "$DIST_DIR"
|
|
md5sum -b "wordpress-$VERSION-fair.zip" >> /tmp/fair-dist/MD5SUMS
|
|
sha1sum -b "wordpress-$VERSION-fair.zip" >> /tmp/fair-dist/SHA1SUMS
|
|
sha256sum -b "wordpress-$VERSION-fair.zip" >> /tmp/fair-dist/SHA256SUMS
|
|
sha384sum -b "wordpress-$VERSION-fair.zip" >> /tmp/fair-dist/SHA384SUMS
|
|
cd - > /dev/null
|
|
|
|
# Output filename.
|
|
echo $DIST_DIR/wordpress-$VERSION-fair.zip
|
|
done
|
|
|
|
# Clean up.
|
|
rm -rf /tmp/fair-temp
|