# Copyright (c) 2017-present, Facebook, Inc.
#
# This source code is licensed under the Apache 2.0 license found in the
# LICENSE file in the root directory of this source tree.

load(
    "//tools/build_defs/oss:litho_defs.bzl",
    "LITHO_ANDROIDSUPPORT_RECYCLERVIEW_TARGET",
    "LITHO_ANDROIDSUPPORT_TARGET",
    "LITHO_ANDROIDSUPPORT_TESTING_CORE_TARGET",
    "LITHO_ANDROIDSUPPORT_TESTING_TARGET",
    "LITHO_FRESCO_TARGET",
    "LITHO_GUAVA_TARGET",
    "LITHO_JAVA_TARGET",
    "LITHO_JSR_TARGET",
    "LITHO_KOTLIN_TARGET",
    "LITHO_PROCESSOR_TARGET",
    "LITHO_RES_TARGET",
    "LITHO_ROBOLECTRIC_V4_TARGET",
    "LITHO_SECTIONS_TARGET",
    "LITHO_STATS_TARGET",
    "LITHO_TESTING_COMPONENTS_FINDER_TARGET",
    "LITHO_TESTING_HELPER_TARGET",
    "LITHO_TESTING_SUBCOMPONENTS_TARGET",
    "LITHO_TESTING_VIEWTREE_TARGET",
    "LITHO_TESTING_WHITEBOX_TARGET",
    "LITHO_WIDGET_KOTLIN_CANVAS_TARGET",
    "LITHO_WIDGET_KOTLIN_COLLECTION_TARGET",
    "LITHO_WIDGET_TARGET",
    "LITHO_YOGA_TARGET",
    "litho_android_test_library",
    "make_dep_path",
)

litho_android_test_library(
    name = "whitebox",
    srcs = glob(["Whitebox.java"]),
    autoglob = False,
    language = "JAVA",
    visibility = [
        "PUBLIC",
    ],
)

litho_android_test_library(
    name = "testing",
    srcs = glob(
        [
            "*.java",
            "*.kt",
        ],
        exclude = ["Whitebox.java"],
    ),
    autoglob = False,
    plugins = [
        LITHO_PROCESSOR_TARGET,
    ],
    provided_deps = [
        LITHO_ROBOLECTRIC_V4_TARGET,
    ],
    pure_kotlin = False,
    tests = [
        make_dep_path("litho-it/src/test/java/com/facebook/litho/testing:testing"),
        make_dep_path("litho-it/src/test/java/com/facebook/litho/testing/viewtree:viewtree"),
    ],
    visibility = [
        "PUBLIC",
    ],
    deps = [
        LITHO_GUAVA_TARGET,
        LITHO_ANDROIDSUPPORT_TARGET,
        LITHO_JAVA_TARGET,
        LITHO_RES_TARGET,
        LITHO_JSR_TARGET,
        LITHO_FRESCO_TARGET,
        LITHO_KOTLIN_TARGET,
        LITHO_TESTING_WHITEBOX_TARGET,
        LITHO_YOGA_TARGET,
        LITHO_WIDGET_TARGET,
        LITHO_WIDGET_KOTLIN_COLLECTION_TARGET,
        LITHO_WIDGET_KOTLIN_CANVAS_TARGET,
        LITHO_SECTIONS_TARGET,
        LITHO_ANDROIDSUPPORT_RECYCLERVIEW_TARGET,
        LITHO_ANDROIDSUPPORT_TESTING_CORE_TARGET,
        LITHO_ANDROIDSUPPORT_TESTING_TARGET,
        LITHO_STATS_TARGET,
        LITHO_TESTING_VIEWTREE_TARGET,
        LITHO_TESTING_COMPONENTS_FINDER_TARGET,
    ],
    exported_deps = [
        LITHO_KOTLIN_TARGET,
        LITHO_TESTING_HELPER_TARGET,
        LITHO_TESTING_SUBCOMPONENTS_TARGET,
        make_dep_path("litho-testing/src/main/java/com/facebook/litho/testing/state:state"),
    ],
)
