#!/bin/bash
# Copyright (c) 2015 The Chromium Authors. All rights reserved.
# # Use of this source code is governed by a BSD-style license that can be
# # found in the LICENSE file.
#
# This script is tested ONLY on Linux. It may not work correctly on
# Mac OS X.
#

if [ $# -lt 1 ];
then
  echo "Usage: "$0" (android|android_extra|android_small|cast|chromeos|common|flutter|ios)" >&2
  exit 1
fi

TOPSRC="$(dirname "$0")/.."
source "${TOPSRC}/scripts/data_common.sh"


function copy_common {
  DATA_PREFIX="data/out/tmp/icudt${VERSION}"
  TZRES_PREFIX="data/out/build/icudt${VERSION}l"

  echo "Generating the big endian data bundle"
  LD_LIBRARY_PATH=lib bin/icupkg -tb --ignore-deps "${DATA_PREFIX}l.dat" "${DATA_PREFIX}b.dat"

  echo "Copying icudtl.dat and icudtlb.dat"
  for endian in l b
  do
    rm "${TOPSRC}/common/icudt${endian}.dat"
    cp "${DATA_PREFIX}${endian}.dat" "${TOPSRC}/common/icudt${endian}.dat"
  done

  echo "Copying metaZones.res, timezoneTypes.res, zoneinfo64.res"
  for tzfile in metaZones timezoneTypes zoneinfo64
  do
    rm "${TOPSRC}/tzres/${tzfile}.res"
    cp "${TZRES_PREFIX}/${tzfile}.res" "${TOPSRC}/tzres/${tzfile}.res"
  done

  echo "Done with copying pre-built ICU data files."
}

function copy_data {
  echo "Copying icudtl.dat for $1"

  rm "${TOPSRC}/$2/icudtl.dat"
  cp "data/out/tmp/icudt${VERSION}l.dat" "${TOPSRC}/$2/icudtl.dat"

  echo "Done with copying pre-built ICU data file for $1."
}

function copy_android_extra {
  echo "Copying icudtl_extra.dat for AndroidExtra"

  LD_LIBRARY_PATH=lib/ bin/icupkg -r --ignore-deps \
    "${TOPSRC}/filters/android-extra-removed-resources.txt" \
    "data/out/tmp/icudt${VERSION}l.dat"

  echo "AFTER strip out the content is"
  LD_LIBRARY_PATH=lib/ bin/icupkg -l --ignore-deps \
    "data/out/tmp/icudt${VERSION}l.dat"

  rm "${TOPSRC}/android_small/icudtl_extra.dat"
  cp "data/out/tmp/icudt${VERSION}l.dat" "${TOPSRC}/android_small/icudtl_extra.dat"

  echo "Done with copying pre-built ICU data file for AndroidExtra."
}


BACKUP_DIR="dataout/$1"
function backup_outdir {
  rm -rf "${BACKUP_DIR}"
  mkdir "${BACKUP_DIR}"
  find "data/out" | cpio -pdmv "${BACKUP_DIR}"
}

case "$1" in
  "chromeos")
    copy_data ChromeOS $1
    backup_outdir $1
    ;;
  "common")
    copy_common
    backup_outdir $1
    ;;
  "android")
    copy_data Android $1
    backup_outdir $1
    ;;
  "android_small")
    copy_data AndroidSmall $1
    backup_outdir $1
    ;;
  "android_extra")
    copy_android_extra
    backup_outdir $1
    ;;
  "ios")
    copy_data iOS $1
    backup_outdir $1
    ;;
  "cast")
    copy_data Cast $1
    backup_outdir $1
    ;;
  "flutter")
    copy_data Flutter $1
    backup_outdir $1
    ;;
esac
