#!/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.
#
set -e # exit if fail

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 \
    "${TOPSRC}/filters/android-extra-removed-resources.txt" \
    --ignore-deps \
    "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 -p "${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
