- Build and Release script for WordPress plugins
This commit is contained in:
84
integrations/Wordpress/build_and_release.sh
Executable file
84
integrations/Wordpress/build_and_release.sh
Executable file
@@ -0,0 +1,84 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Define the plugin names and paths
|
||||||
|
PLUGINS=("eveai-chat" "eveai_sync")
|
||||||
|
RELEASE_PATH="/Volumes/OWC4M2_1/Dropbox/Professioneel/AskEveAI/Production Plugins/WordPress"
|
||||||
|
|
||||||
|
# Helper function: Print usage
|
||||||
|
print_usage() {
|
||||||
|
echo "Usage: $0 [-b | -r] [plugin_name...]"
|
||||||
|
echo " -b Build only"
|
||||||
|
echo " -r Release only"
|
||||||
|
echo " If no options are provided, both build and release will be performed."
|
||||||
|
echo " Specify plugin names to target specific plugins. Default is all."
|
||||||
|
}
|
||||||
|
|
||||||
|
# Build function
|
||||||
|
build_plugin() {
|
||||||
|
local plugin=$1
|
||||||
|
local zip_file="${plugin}.zip"
|
||||||
|
|
||||||
|
echo "Building plugin: $plugin"
|
||||||
|
if [ -f "$zip_file" ]; then
|
||||||
|
echo "Removing existing zip file: $zip_file"
|
||||||
|
rm "$zip_file"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "$plugin" ]; then
|
||||||
|
zip -r "$zip_file" "$plugin" > /dev/null
|
||||||
|
echo "Plugin $plugin built successfully: $zip_file"
|
||||||
|
else
|
||||||
|
echo "Error: Plugin folder $plugin does not exist. Skipping."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Release function
|
||||||
|
release_plugin() {
|
||||||
|
local plugin=$1
|
||||||
|
local zip_file="${plugin}.zip"
|
||||||
|
local destination="$RELEASE_PATH/$zip_file"
|
||||||
|
|
||||||
|
echo "Releasing plugin: $plugin"
|
||||||
|
if [ -f "$zip_file" ]; then
|
||||||
|
cp "$zip_file" "$RELEASE_PATH"
|
||||||
|
echo "Plugin $plugin released successfully to $destination"
|
||||||
|
else
|
||||||
|
echo "Error: Build file $zip_file not found. Please build the plugin first."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parse arguments
|
||||||
|
BUILD=false
|
||||||
|
RELEASE=false
|
||||||
|
TARGET_PLUGINS=("${PLUGINS[@]}")
|
||||||
|
|
||||||
|
while getopts "brh" opt; do
|
||||||
|
case "$opt" in
|
||||||
|
b) BUILD=true ;;
|
||||||
|
r) RELEASE=true ;;
|
||||||
|
h) print_usage; exit 0 ;;
|
||||||
|
*) print_usage; exit 1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND-1))
|
||||||
|
|
||||||
|
# Handle plugin name filtering
|
||||||
|
if [ "$#" -gt 0 ]; then
|
||||||
|
TARGET_PLUGINS=("$@")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Default action: both build and release
|
||||||
|
if ! $BUILD && ! $RELEASE; then
|
||||||
|
BUILD=true
|
||||||
|
RELEASE=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Execute actions
|
||||||
|
for plugin in "${TARGET_PLUGINS[@]}"; do
|
||||||
|
if $BUILD; then
|
||||||
|
build_plugin "$plugin"
|
||||||
|
fi
|
||||||
|
if $RELEASE; then
|
||||||
|
release_plugin "$plugin"
|
||||||
|
fi
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user