-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbundle_1.sh
More file actions
executable file
·83 lines (68 loc) · 2.38 KB
/
bundle_1.sh
File metadata and controls
executable file
·83 lines (68 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/bash
# PrestaShop Module Bundler Script
# This script creates a distributable zip file of the Frak Integration module
set -e # Exit on any error
# Module configuration
MODULE_NAME="frakintegration"
VERSION="1.0.0"
BUNDLE_NAME="${MODULE_NAME}-v${VERSION}.zip"
TEMP_DIR="bundle_temp"
echo "🚀 Starting PrestaShop module bundling for ${MODULE_NAME} v${VERSION}"
# Clean up any previous bundle artifacts
if [ -f "$BUNDLE_NAME" ]; then
echo "📦 Removing existing bundle: $BUNDLE_NAME"
rm "$BUNDLE_NAME"
fi
if [ -d "$TEMP_DIR" ]; then
echo "🧹 Cleaning up temporary directory"
rm -rf "$TEMP_DIR"
fi
# Create temporary directory
echo "📁 Creating temporary bundle directory"
mkdir -p "$TEMP_DIR/$MODULE_NAME"
# Copy module files (excluding development/test files)
echo "📋 Copying module files..."
# Core module files
cp frakintegration.php "$TEMP_DIR/$MODULE_NAME/"
cp config.xml "$TEMP_DIR/$MODULE_NAME/"
cp logo.png "$TEMP_DIR/$MODULE_NAME/"
# Copy directories with their structure
cp -r classes/ "$TEMP_DIR/$MODULE_NAME/classes/"
cp -r controllers/ "$TEMP_DIR/$MODULE_NAME/controllers/"
cp -r views/ "$TEMP_DIR/$MODULE_NAME/views/"
cp -r vendor/ "$TEMP_DIR/$MODULE_NAME/vendor/"
cp -r uploads/ "$TEMP_DIR/$MODULE_NAME/uploads/"
# Copy override directory if it has content
if [ "$(ls -A override/ 2>/dev/null)" ]; then
cp -r override/ "$TEMP_DIR/$MODULE_NAME/override/"
else
# Create empty override directory as PrestaShop expects it
mkdir -p "$TEMP_DIR/$MODULE_NAME/override"
fi
echo "✅ Files copied successfully"
# Create the zip bundle
echo "🗜️ Creating zip bundle: $BUNDLE_NAME"
cd "$TEMP_DIR"
zip -r "../$BUNDLE_NAME" "$MODULE_NAME/" -x "*.DS_Store" "*.git*" "*__pycache__*" "*.pyc"
cd ..
# Clean up temporary directory
echo "🧹 Cleaning up temporary files"
rm -rf "$TEMP_DIR"
# Display bundle information
if [ -f "$BUNDLE_NAME" ]; then
BUNDLE_SIZE=$(du -h "$BUNDLE_NAME" | cut -f1)
echo ""
echo "🎉 Bundle created successfully!"
echo "📦 File: $BUNDLE_NAME"
echo "📏 Size: $BUNDLE_SIZE"
echo ""
echo "📋 Bundle contents:"
unzip -l "$BUNDLE_NAME"
echo ""
echo "✅ Your module is ready for distribution!"
echo " Clients can upload this zip file directly to their PrestaShop admin panel"
echo " under Modules & Services > Upload a module"
else
echo "❌ Error: Bundle creation failed"
exit 1
fi