load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target", "non_fbcode_target")
# Any targets that should be shared between fbcode and xplat must be defined in
# targets.bzl. This file can contain fbcode-only targets.
load("@fbcode_macros//build_defs:python_binary.bzl", "python_binary")

oncall("executorch")

fbcode_target(_kind = python_binary,
    name = "extract_coreml_models",
    srcs = [
        "extract_coreml_models.py",
    ],
    main_function = "executorch.examples.apple.coreml.scripts.extract_coreml_models.main",
    deps = [
        "//executorch/backends/apple/coreml:executorchcoreml",
        "//executorch/exir:schema",
        "//executorch/exir/_serialize:lib",
    ],
)

fbcode_target(_kind = python_binary,
    name = "coreml_compute_plan",
    srcs = [
        "coreml_compute_plan.py",
    ],
    main_function = "executorch.examples.apple.coreml.scripts.coreml_compute_plan.main",
    deps = [
        "//executorch/backends/apple/coreml:executorchcoreml",
        "//executorch/exir:schema",
        "//executorch/exir/_serialize:lib",
    ],
)

fbcode_target(_kind = python_binary,
    name = "export",
    srcs = [
        "export.py",
    ],
    main_function = "executorch.examples.apple.coreml.scripts.export.main",
    deps = [
        "//executorch/backends/apple/coreml:backend",
        "//executorch/backends/apple/coreml:partitioner",
        "//executorch/backends/apple/coreml:quantizer",
        "//executorch/devtools/etrecord:etrecord",
        "//executorch/examples/models:models",
    ],
)
