# Copyright 2017 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("//peridot/build/module_manifest.gni")

group("dart_unittests") {
  testonly = true

  deps = [
    "app/contacts:tests",
    "app/dashboard:tests",
    "app/documents/packages/utils:test",
    "public/dart/fixtures:test",
    "public/dart/widgets:test",
    "public/lib/schemas/dart:test",
    "shell:tests",
    "tools/dartfmt_extras:test",
    "tools/mod:test",
    "tools/widget_explorer:tests",
  ]
}

# This target, if included in the built image, will cause the listed module
# packages (which must also be included in the built image) to have their
# manifests indexed by the on-device module resolver when the user logs in.
initial_module_packages("topaz_modules_index") {
  packages = [
    "image",
    "contacts_picker",
    "documents_info",
    "video",
  ]
}
