# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/dist/resource.gni")

group("intl") {
  testonly = true
  public_deps = [
    "example",
    "intl_services",
    "strings_to_fidl",
    "strings_to_json",
    "time_zone_info_service",
  ]
}

group("tests") {
  testonly = true
  public_deps = [
    "intl_services:tests",
    "strings_to_fidl:tests",
    "strings_to_json:tests",
    "time_zone_info_service:tests",
  ]
}

resource("icudtl") {
  sources = [ "//third_party/icu/common/icudtl.dat" ]
  outputs = [ "data/icudtl.dat" ]
}

# TODO(fmil): Is there a way to unify with above?
resource("icudtl_root") {
  sources = [ "//third_party/icu/common/icudtl.dat" ]
  outputs = [ "icudtl.dat" ]
}
