finalize.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # Copyright (c) 2012-2025 Daniele Bartolini et al.
  4. set -eu
  5. if [ $# -lt 1 ]; then
  6. echo "Usage: $0 <package-dir>"
  7. echo ""
  8. echo "e.g."
  9. echo "$0 path/to/crown-0.50.0"
  10. exit
  11. fi
  12. OUTPUT_DIR=$(realpath "$1")
  13. PKG_NAME=$(basename "${OUTPUT_DIR}")
  14. PARTIALS_DIR="${OUTPUT_DIR}/partials"
  15. PARTIAL_PKG="${PARTIALS_DIR}/${PKG_NAME}"
  16. TARGET_PLATFORMS="android-arm android-arm64 html5-wasm"
  17. MASTER_PLATFORMS="linux-x64 windows-x64"
  18. concatenate_and_compress () {
  19. for mp in $MASTER_PLATFORMS; do
  20. # Concatenate.
  21. for tp in $TARGET_PLATFORMS; do
  22. tar --concatenate --file \
  23. "${PARTIAL_PKG}-${mp}.tar" \
  24. "${PARTIAL_PKG}-${tp}.tar"
  25. done
  26. # Compress.
  27. if [ "${mp}" = "windows-x64" ]; then
  28. tar xf "${PARTIAL_PKG}-${mp}.tar" --directory="${PARTIALS_DIR}"
  29. (cd "${PARTIALS_DIR}" && zip -rq "${PKG_NAME}-${mp}.zip" "${PKG_NAME}")
  30. else
  31. gzip "${PARTIAL_PKG}-${mp}.tar"
  32. fi
  33. done
  34. }
  35. if [ ! -d "${PARTIALS_DIR}" ]; then
  36. echo "Partials dir not found."
  37. exit 1;
  38. fi
  39. concatenate_and_compress
  40. # Move to output dir.
  41. for zip in "${PARTIALS_DIR}"/*.gz "${PARTIALS_DIR}"/*.zip; do
  42. mv "${zip}" "${OUTPUT_DIR}"
  43. done