load("//tools:copts.bzl", "COPTS")

cc_binary(
    name = "ai_performance_runner",
    srcs = [
        "AIPerformanceRunner.cpp",
        "AIPerformanceRunner.hpp",
    ],
    copts = COPTS,
    data = [
        "//src/main/resources/net/eagle0/shardok:battalion_types",
        "//src/main/resources/net/eagle0/shardok:settings",
        "//src/main/resources/net/eagle0/shardok/maps",
    ],
    deps = [
        ":performance_test_game_state_builder",
        "//src/main/cpp/net/eagle0/common:filesystem_utils",
        "//src/main/cpp/net/eagle0/common:time_utils",
        "//src/main/cpp/net/eagle0/shardok/ai:ai_attacker_strategy_selector",
        "//src/main/cpp/net/eagle0/shardok/ai:ai_defender_strategy_selector",
        "//src/main/cpp/net/eagle0/shardok/ai:ai_iterative_deepening",
        "//src/main/cpp/net/eagle0/shardok/ai:ai_time_budget",
        "//src/main/cpp/net/eagle0/shardok/ai:ai_water_crossing_command_chooser",
        "//src/main/cpp/net/eagle0/shardok/ai:shardok_ai_client",
        "//src/main/cpp/net/eagle0/shardok/ai/score:ai_score_calculator_interface",
        "//src/main/cpp/net/eagle0/shardok/ai_testing_common:ai_client_factory",
        "//src/main/cpp/net/eagle0/shardok/ai_testing_common:game_phase_runner",
        "//src/main/cpp/net/eagle0/shardok/ai_testing_common:game_settings_factory",
        "//src/main/cpp/net/eagle0/shardok/library:engine",
        "//src/main/cpp/net/eagle0/shardok/library:game_state_w",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/util:battalion_type_registrar",
        "//src/main/cpp/net/eagle0/shardok/util:map_loader",
    ],
)

cc_library(
    name = "performance_test_game_state_builder",
    srcs = ["PerformanceTestGameStateBuilder.cpp"],
    hdrs = [
        "PerformanceTestGameStateBuilder.hpp",
    ],
    copts = COPTS,
    deps = [
        "//src/main/cpp/net/eagle0/shardok/ai_testing_common:game_settings_factory",
        "//src/main/cpp/net/eagle0/shardok/library:game_state_w",
        "//src/main/cpp/net/eagle0/shardok/library:shardok_c_types",
        "//src/main/cpp/net/eagle0/shardok/library/fb_helpers:game_state_helpers",
        "//src/main/cpp/net/eagle0/shardok/library/settings:game_settings",
        "//src/main/cpp/net/eagle0/shardok/util:battalion_type_registrar",
        "//src/main/cpp/net/eagle0/shardok/util:map_loader",
        "//src/main/flatbuffer/net/eagle0/shardok/storage:unit_cc_fbs",
        "//src/main/protobuf/net/eagle0/shardok/common:player_info_cc_proto",
    ],
)
