mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-08-14 05:06:54 +03:00
Added a copy_ecode_assets.sh script to simplify ecode build scripts across platforms.
Modified find_most_recent_sdl2.sh script to search for an specific CPU architecture version of the SDL2 library.
This commit is contained in:
98
projects/scripts/copy_ecode_assets.sh
Normal file
98
projects/scripts/copy_ecode_assets.sh
Normal file
@@ -0,0 +1,98 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Usage: ./copy_ecode_assets.sh <source_dir> <dest_dir>
|
||||
# Example: ./copy_ecode_assets.sh ../../../bin ecode.app
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "Error: Exactly two arguments required: <source_dir> <dest_dir>"
|
||||
echo "Usage: $0 <source_dir> <dest_dir>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SOURCE_DIR="$1"
|
||||
DEST_DIR="$2"
|
||||
|
||||
# Resolve SCRIPT_DIR to the directory where this script lives
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
echo "Running copy_ecode_assets.sh from: $SCRIPT_DIR"
|
||||
|
||||
# Resolve source_dir relative to the script location if it's relative
|
||||
if [[ "$SOURCE_DIR" != /* ]]; then
|
||||
SOURCE_DIR="$SCRIPT_DIR/$SOURCE_DIR"
|
||||
fi
|
||||
|
||||
# Convert SOURCE_DIR to absolute path and check it exists
|
||||
SOURCE_DIR=$(realpath "$SOURCE_DIR" 2>/dev/null || {
|
||||
echo "Error: Source directory does not exist or cannot be resolved: $1"
|
||||
exit 1
|
||||
})
|
||||
|
||||
if [ ! -d "$SOURCE_DIR/assets" ]; then
|
||||
echo "Error: Source assets directory not found: $SOURCE_DIR/assets"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Copying assets from $SOURCE_DIR to $DEST_DIR"
|
||||
|
||||
# Remove existing destination (if any)
|
||||
rm -rf "$DEST_DIR"
|
||||
|
||||
# Create required directories (with error check)
|
||||
mkdir -p "$DEST_DIR/assets"/{colorschemes,fonts,i18n,icon,ui,plugins} || {
|
||||
echo "Error: Failed to create destination directories in $DEST_DIR"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Helper function to copy and report errors
|
||||
copy_file() {
|
||||
local src="$1"
|
||||
local dest="$2"
|
||||
if [ -f "$src" ] || [ -d "$src" ]; then
|
||||
cp -r "$src" "$dest" || {
|
||||
echo "Error: Failed to copy $src -> $dest"
|
||||
exit 1
|
||||
}
|
||||
else
|
||||
echo "Error: Source file/directory not found: $src"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Copy whole directories
|
||||
# We copy into 'assets/' because mkdir already created the subfolders.
|
||||
# cp will merge the source folder into the existing destination folder.
|
||||
copy_file "$SOURCE_DIR/assets/i18n" "$DEST_DIR/assets/"
|
||||
copy_file "$SOURCE_DIR/assets/colorschemes" "$DEST_DIR/assets/"
|
||||
copy_file "$SOURCE_DIR/assets/plugins" "$DEST_DIR/assets/"
|
||||
|
||||
# Copy individual fonts using a loop
|
||||
fonts=(
|
||||
DejaVuSansMono.ttf
|
||||
DejaVuSansMono-Bold.ttf
|
||||
DejaVuSansMono-Oblique.ttf
|
||||
DejaVuSansMono-BoldOblique.ttf
|
||||
DejaVuSansMonoNerdFontComplete.ttf
|
||||
nonicons.ttf
|
||||
codicon.ttf
|
||||
NotoSans-Regular.ttf
|
||||
NotoSans-Bold.ttf
|
||||
NotoSans-Italic.ttf
|
||||
NotoSans-BoldItalic.ttf
|
||||
remixicon.ttf
|
||||
NotoEmoji-Regular.ttf
|
||||
NotoColorEmoji.ttf
|
||||
DroidSansFallbackFull.ttf
|
||||
)
|
||||
|
||||
for font in "${fonts[@]}"; do
|
||||
copy_file "$SOURCE_DIR/assets/fonts/$font" "$DEST_DIR/assets/fonts/"
|
||||
done
|
||||
|
||||
# Copy other individual files
|
||||
copy_file "$SOURCE_DIR/assets/icon/ecode.png" "$DEST_DIR/assets/icon/ecode.png"
|
||||
copy_file "$SOURCE_DIR/assets/ui/breeze.css" "$DEST_DIR/assets/ui/breeze.css"
|
||||
copy_file "$SOURCE_DIR/assets/ca-bundle.pem" "$DEST_DIR/assets/ca-bundle.pem"
|
||||
|
||||
echo "Assets successfully copied to $DEST_DIR"
|
||||
Reference in New Issue
Block a user