84 lines
2.0 KiB
Bash
Executable File
84 lines
2.0 KiB
Bash
Executable File
#!/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 |