# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.

load("//tools/build_defs:fb_native_wrapper.bzl", "fb_native")
load(
    "//tools/build_defs/oss:rn_codegen_defs.bzl",
    "rn_codegen_modules",
)
load(
    "//tools/build_defs/oss:rn_defs.bzl",
    "react_native_root_target",
)

fb_native.genrule(
    name = "react_native_codegen_schema",
    srcs = glob(
        [
            "**/*.js",
        ],
        exclude = [
            "**/__tests__/**/*",
        ],
    ),
    cmd = "$(exe {}) $OUT $SRCS".format(react_native_root_target("packages/react-native-codegen:write_to_json")),
    out = "schema.json",
    labels = ["codegen_rule"],
)

rn_codegen_modules(
    name = "FBReactNativeSpec",
    library_labels = ["supermodule:xplat/default/public.react_native.infra"],
    native_module_spec_name = "FBReactNativeSpec",
    schema_target = ":react_native_codegen_schema",
)
