# Copyright 2018 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/dart/dart_library.gni")
import("//topaz/runtime/dart/dart_test.gni")
import("//topaz/runtime/flutter_runner/flutter_app.gni")

flutter_app("tictactoe_game_board_mod") {
  deprecated_bare_package_url = "//build"

  main_dart = "lib/main.dart"

  fuchsia_package_name = "tictactoe_game_board_mod"

  meta = [
    {
      path = rebase_path("meta/tictactoe_game_board_mod.cmx")
      dest = "tictactoe_game_board_mod.cmx"
    },
  ]

  sources = [
    "src/model/tictactoe_model.dart",
    "src/widget/square.dart",
    "src/widget/tictactoe_board.dart",
  ]

  deps = [
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//topaz/examples/tictactoe/lib/tictactoe/common",
    "//topaz/examples/tictactoe/public/fidl/tictactoe:game_tracker_service",
    "//topaz/public/dart/widgets:lib.widgets",
    "//topaz/public/lib/app_driver/dart",
    "//topaz/public/lib/proposal/dart",
  ]
}

dart_test("tictactoe_game_board_mod_test") {
  sources = [
    "mod_test.dart",
  ]

  deps = [
    ":tictactoe_game_board_mod_dart_library",
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//third_party/dart-pkg/git/flutter/packages/flutter_test",
    "//third_party/dart-pkg/pub/test",
    "//topaz/examples/tictactoe/lib/tictactoe/common",
    "//topaz/public/dart/widgets:lib.widgets",
    "//topaz/public/lib/app_driver/dart",
    "//topaz/public/lib/testing/flutter",
  ]
}
