Files
MicroPythonOS/scripts/bundleapps.sh
T

47 lines
1.3 KiB
Bash
Raw Normal View History

2025-06-03 16:37:50 +02:00
output=/home/user/projects/MicroPythonOS/apps/
outputjson="$output"/app_index.json
2025-05-07 13:47:55 +02:00
output=$(readlink -f "$output")
2025-05-07 16:11:32 +02:00
outputjson=$(readlink -f "$outputjson")
2025-06-03 16:37:50 +02:00
#mpks="$output"/mpks/
#icons="$output"/icons/
2025-05-07 16:11:32 +02:00
2025-06-03 16:37:50 +02:00
mkdir -p "$output"
#mkdir -p "$mpks"
#mkdir -p "$icons"
#rm "$output"/*.mpk
#rm "$output"/*.png
2025-05-07 16:11:32 +02:00
rm "$outputjson"
echo "[" | tee -a "$outputjson"
2025-05-07 13:47:55 +02:00
2025-06-04 15:32:16 +02:00
# currently, this script doesn't purge unnecessary information from the manifests, such as activities
2025-05-07 13:47:55 +02:00
for apprepo in internal_filesystem/apps internal_filesystem/builtin/apps; do
echo "Listing apps in $apprepo"
ls -1 "$apprepo" | while read appdir; do
echo "Bundling $apprepo/$appdir"
pushd "$apprepo"/"$appdir"
2025-05-07 16:11:32 +02:00
manifest=META-INF/MANIFEST.JSON
version=$( jq -r '.version' "$manifest" )
cat "$manifest" | tee -a "$outputjson"
echo -n "," | tee -a "$outputjson"
2025-06-04 09:39:37 +02:00
thisappdir="$output"/apps/"$appdir"
2025-06-03 16:37:50 +02:00
mkdir -p "$thisappdir"
mkdir -p "$thisappdir"/mpks
mkdir -p "$thisappdir"/icons
mpkname="$thisappdir"/mpks/"$appdir"_"$version".mpk
2025-05-07 13:47:55 +02:00
echo "Creating $mpkname"
zip -r0 "$mpkname" .
2025-06-03 16:37:50 +02:00
cp res/mipmap-mdpi/icon_64x64.png "$thisappdir"/icons/"$appdir"_"$version"_64x64.png
2025-05-07 13:47:55 +02:00
popd
done
done
2025-05-07 16:11:32 +02:00
# remove the last , to have valid json:
truncate -s -1 "$outputjson"
echo "]" | tee -a "$outputjson"