Files
plezy/tvos/scripts/copy_assets.sh
T
2026-04-24 14:11:24 +02:00

81 lines
2.4 KiB
Bash

#!/usr/bin/env bash
# Exit on error
set -e
#determine ios folder
if [[ -d ./_ios ]]; then
IOS_DIR=./_ios
if [[ -d ./ios ]]; then
TVOS_DIR=./ios
else
echo "Error: could not find './ios' folder with tvos content"
exit 1
fi
elif [[ -d ./ios ]]; then
IOS_DIR=./ios
if [[ -d ./tvos ]]; then
TVOS_DIR=./tvos
else
echo "Error: could not find './tvos' folder with tvos content"
exit 1
fi
else
echo "Error: could not find './ios' or './_ios' folder"
exit 1
fi
IOS_FLUTTER_ASSETS_DIR=$IOS_DIR/Flutter/App.framework/flutter_assets
TVOS_FLUTTER_ASSETS_DIR=$TVOS_DIR/tvos_flutter_assets/flutter_assets
if [[ -d $IOS_FLUTTER_ASSETS_DIR ]]; then
echo "Copying flutter_assets from IOS compiled target"
# better approuch would to copy complete assets folder and remove files that are generated by compilation step
# isolate_snapshot_data, isolate_snapshot_instr, kernel_blob, vm_snapshot_data
# note, this list might be different for debug (jit) and release (aot)??????
rm -rf "$TVOS_FLUTTER_ASSETS_DIR"
mkdir -p "$TVOS_FLUTTER_ASSETS_DIR"
echo " └─App.framework/flutter_assets/AssetManifest.json"
cp -v "$IOS_FLUTTER_ASSETS_DIR/AssetManifest.json" "$TVOS_FLUTTER_ASSETS_DIR/AssetManifest.json"
echo " └─App.framework/flutter_assets/FontManifest.json"
cp -v "$IOS_FLUTTER_ASSETS_DIR/FontManifest.json" "$TVOS_FLUTTER_ASSETS_DIR/FontManifest.json"
set +e
# the content has changed from flutter v 1.15.19 to 1.19.0-4.3pre
echo " └─App.framework/flutter_assets/LICENSE"
cp -v "$IOS_FLUTTER_ASSETS_DIR/LICENSE" "$TVOS_FLUTTER_ASSETS_DIR/LICENSE"
echo " └─App.framework/flutter_assets/NOTICES"
cp -v "$IOS_FLUTTER_ASSETS_DIR/NOTICES" "$TVOS_FLUTTER_ASSETS_DIR/NOTICES"
echo " └─App.framework/flutter_assets/assets/"
mkdir -p "$TVOS_FLUTTER_ASSETS_DIR/assets"
cp -v -R "$IOS_FLUTTER_ASSETS_DIR/assets" "$TVOS_FLUTTER_ASSETS_DIR"
echo " └─App.framework/flutter_assets/fonts/"
mkdir -p "$TVOS_FLUTTER_ASSETS_DIR/fonts"
cp -v -R "$IOS_FLUTTER_ASSETS_DIR/fonts" "$TVOS_FLUTTER_ASSETS_DIR"
echo " └─App.framework/flutter_assets/packages/"
mkdir -p "$TVOS_FLUTTER_ASSETS_DIR/packages"
cp -v -R "$IOS_FLUTTER_ASSETS_DIR/packages" "$TVOS_FLUTTER_ASSETS_DIR"
set -e
echo " └─Done"
else
echo "'./ios/Flutter/App.framework/flutter_assets' folder does not not exist or IOS target not compiled yet, build any ios buiild first!"
exit 1
fi