From 6195f6faee45eade617509af29bce5121ea98fce Mon Sep 17 00:00:00 2001 From: iAmInAction <83808704+iAmInActions@users.noreply.github.com> Date: Thu, 16 Nov 2023 10:12:40 +0100 Subject: [PATCH] Add WASM Data package creator This script creates a .data package for WASM applications and the associated javascript definitions. --- create-wasm-data-file.sh | 50 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 create-wasm-data-file.sh diff --git a/create-wasm-data-file.sh b/create-wasm-data-file.sh new file mode 100644 index 0000000..9fec71d --- /dev/null +++ b/create-wasm-data-file.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +if [ "$#" -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +directory_path="$1" +output_file_name="$2" +data_file="$output_file_name.data" + +# Create the .data file +cat "$directory_path"/* > "$data_file" + +# Create the .info file +info_file="$output_file_name.info" +echo 'loadPackage({' > "$info_file" +echo ' "files": [' >> "$info_file" + +# Iterate over files in the directory and gather information +index=0 +start=0 + +for file in "$directory_path"/*; do + filename=$(basename "$file") + size=$(wc -c < "$file") + end=$((start + size)) + + # Write file information to the .info file + echo ' {' >> "$info_file" + echo ' "filename": "'"$filename"'",' >> "$info_file" + echo ' "start": '"$start"',' >> "$info_file" + echo ' "end": '"$end"',' >> "$info_file" + echo ' "audio": 0' >> "$info_file" + echo ' },' >> "$info_file" + + ((index++)) + start=$end +done + +# Remove the trailing comma from the last entry +sed -i '$s/,$//' "$info_file" + +echo ' ],' >> "$info_file" +echo ' "remote_package_size": '"$(wc -c < "$data_file")"',' >> "$info_file" +echo ' "package_uuid": "'$(uuidgen)'"' >> "$info_file" +echo '})' >> "$info_file" + +echo "Script completed successfully!" +