load("//tools/build_defs/oss:yoga_defs.bzl", "ANDROID", "FBJNI_TARGET", "LIBRARY_COMPILER_FLAGS", "SOLOADER_TARGET", "subdir_glob", "yoga_cxx_library", "yoga_dep", "yoga_java_library")

yoga_cxx_library(
    name = "testutil",
    srcs = ["src/main/cpp/testutil/testutil.cpp"],
    header_namespace = "",
    exported_headers = subdir_glob([("src/main/cpp/include", "yoga/testutil/testutil.h")]),
    compiler_flags = LIBRARY_COMPILER_FLAGS,
    soname = "libyoga_testutil.$(ext)",
    visibility = ["PUBLIC"],
    deps = [yoga_dep(":yoga")],
)

yoga_cxx_library(
    name = "testutil-jni",
    srcs = ["src/main/cpp/testutil/testutil.cpp"],
    header_namespace = "",
    exported_headers = subdir_glob([("src/main/cpp/include", "yoga/testutil/testutil.h")]),
    compiler_flags = LIBRARY_COMPILER_FLAGS,
    platforms = ANDROID,
    soname = "libyoga_testutil.$(ext)",
    visibility = ["PUBLIC"],
    deps = [
        yoga_dep("java:jni"),
        yoga_dep(":yoga"),
    ],
)

yoga_java_library(
    name = "java",
    srcs = ["src/main/java/com/facebook/yoga/TestUtil.java"],
    source = "1.7",
    target = "1.7",
    visibility = ["PUBLIC"],
    deps = [
        ":jni",
        SOLOADER_TARGET,
    ],
)

yoga_cxx_library(
    name = "jni",
    srcs = ["src/main/cpp/jni/jni.cpp"],
    allow_jni_merging = False,
    compiler_flags = LIBRARY_COMPILER_FLAGS,
    platforms = ANDROID,
    soname = "libyoga_testutil_jni.$(ext)",
    visibility = ["PUBLIC"],
    deps = [
        ":testutil-jni",
        FBJNI_TARGET,
    ],
)
