feat: WIP
This commit is contained in:
@@ -1,46 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
VERSION="1.0.0"
|
||||
MODULE_NAME="oc_telegram_shop"
|
||||
CURRENT_DIR="$(dirname "$0")"
|
||||
|
||||
echo "Current dir: ${CURRENT_DIR}"
|
||||
node -v
|
||||
npm -v
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
echo -e "${BLUE}🔨 Starting build process...${NC}"
|
||||
|
||||
echo -e "${BLUE}Build frontend...${NC}"
|
||||
rm -rf /app/module/oc_telegram_shop/upload/admin/view/javascript
|
||||
rm -rf /app/module/oc_telegram_shop/upload/admin/view/integration.js
|
||||
cd /app/frontend
|
||||
npm install
|
||||
NODE_ENV=production npm run build
|
||||
rm -rf /app/module/oc_telegram_shop/upload/admin/view/javascript/oc_telegram_shop/.vite
|
||||
rm -rf /app/module/oc_telegram_shop/upload/admin/view/javascript/oc_telegram_shop/oc_telegram_shop.js.map
|
||||
rm -rf /app/module/oc_telegram_shop/upload/admin/view/javascript/oc_telegram_shop/favicon.ico
|
||||
|
||||
echo -e "${BLUE}📦 Packaging into .ocmod.zip...${NC}"
|
||||
cd /app/module/oc_telegram_shop
|
||||
zip -rqq "${MODULE_NAME}.ocmod.zip" .
|
||||
mv "${MODULE_NAME}.ocmod.zip" /build
|
||||
|
||||
FINAL_FILE="/build/${MODULE_NAME}.ocmod.zip"
|
||||
|
||||
if [ -f "$FINAL_FILE" ]; then
|
||||
FILE_SIZE=$(du -h "$FINAL_FILE" | cut -f1)
|
||||
echo -e "${GREEN}✅ Build completed successfully!${NC}"
|
||||
echo -e "${GREEN}🎉 Created: $FINAL_FILE ($FILE_SIZE)${NC}"
|
||||
else
|
||||
echo "❌ Error: Final build file not found: $FINAL_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${BLUE}🎯 Build artifact ready for installation!${NC}"
|
||||
78
scripts/ci/build.sh
Executable file
78
scripts/ci/build.sh
Executable file
@@ -0,0 +1,78 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
MODULE_NAME="oc_telegram_shop"
|
||||
CURRENT_DIR="$(dirname "$0")"
|
||||
|
||||
echo "Current dir: ${CURRENT_DIR}"
|
||||
composer --version
|
||||
node -v
|
||||
npm -v
|
||||
|
||||
SRC_PATH="$1"
|
||||
BUILD_PATH="${CURRENT_DIR}/build"
|
||||
|
||||
echo "🔨 Starting build process..."
|
||||
echo "ℹ️ Source path: ${SRC_PATH}"
|
||||
echo "ℹ️ Build path: ${BUILD_PATH}"
|
||||
|
||||
if [ -z "$BUILD_PATH" ]; then
|
||||
echo "❌ Error: BUILD_PATH is required"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$SRC_PATH" ]; then
|
||||
echo "❌ Error: SRC_PATH is required"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Build SPA..."
|
||||
cd "${SRC_PATH}/spa"
|
||||
npm install
|
||||
npm run build
|
||||
cd - > /dev/null
|
||||
|
||||
echo "Install Composer dependencies."
|
||||
cd "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop"
|
||||
composer install \
|
||||
--prefer-dist \
|
||||
--no-dev \
|
||||
--optimize-autoloader \
|
||||
--no-interaction \
|
||||
--no-cache
|
||||
cd - > /dev/null
|
||||
|
||||
echo "📜 Creating Phar archive..."
|
||||
rm -rf \
|
||||
"${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/tests" \
|
||||
"${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/phpunit.xml" \
|
||||
"${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/psalm.xml" \
|
||||
"${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/psalm-classes.php" \
|
||||
"${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop/psalm-stubs.php"
|
||||
|
||||
php -d phar.readonly=0 scripts/ci/create-phar.php "${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop" "${MODULE_NAME}.phar"
|
||||
|
||||
echo "📦 Packaging into .ocmod.zip..."
|
||||
mkdir -p "${SRC_PATH}/module/oc_telegram_shop/upload/system/library/oc_telegram_shop"
|
||||
mv "${MODULE_NAME}.phar" "${SRC_PATH}/module/oc_telegram_shop/upload/system/library/oc_telegram_shop"
|
||||
|
||||
rm -rf \
|
||||
"${SRC_PATH}/module/oc_telegram_shop/upload/oc_telegram_shop"
|
||||
|
||||
cd "${SRC_PATH}/module/oc_telegram_shop/"
|
||||
zip -rqq "${MODULE_NAME}.ocmod.zip" .
|
||||
mv "${MODULE_NAME}.ocmod.zip" "${BUILD_PATH}"
|
||||
|
||||
FINAL_FILE="${BUILD_PATH}/${MODULE_NAME}.ocmod.zip"
|
||||
|
||||
if [ -f "$FINAL_FILE" ]; then
|
||||
FILE_SIZE=$(du -h "$FINAL_FILE" | cut -f1)
|
||||
echo -e "✅ Build completed successfully!"
|
||||
echo -e "🎉 Created: $FINAL_FILE ($FILE_SIZE)"
|
||||
else
|
||||
echo "❌ Error: Final build file not found: $FINAL_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "🎯 Build artifact ready for installation!"
|
||||
37
scripts/ci/create-phar.php
Normal file
37
scripts/ci/create-phar.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
$sourcePath = $argv[1] ?? null;
|
||||
$pharFile = $argv[2] ?? null;
|
||||
|
||||
if (! $sourcePath) {
|
||||
throw new InvalidArgumentException('Source path must be provided');
|
||||
}
|
||||
|
||||
if (! $pharFile) {
|
||||
throw new InvalidArgumentException('Phar file must be provided');
|
||||
}
|
||||
|
||||
// Remove old file if exists
|
||||
if (file_exists($pharFile)) {
|
||||
unlink($pharFile);
|
||||
}
|
||||
|
||||
// Create new Phar archive
|
||||
$phar = new Phar($pharFile);
|
||||
|
||||
// Start buffering
|
||||
$phar->startBuffering();
|
||||
|
||||
// Add files from source directory
|
||||
|
||||
$phar->buildFromDirectory($sourcePath);
|
||||
|
||||
// (Optional) Set stub file — main entry point
|
||||
// $phar->setStub($phar->createDefaultStub('index.php'));
|
||||
|
||||
$phar->compressFiles(Phar::GZ);
|
||||
|
||||
// Stop buffering and write
|
||||
$phar->stopBuffering();
|
||||
|
||||
echo "Phar created: $pharFile\n";
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
$module = 'oc_layout_pro';
|
||||
$module = 'oc_telegram_shop';
|
||||
|
||||
$basePath = dirname(__DIR__) . '/';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user