load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
load("@yuanrong_functionsystem//bazel:yr.bzl", "COPTS")
# function_master_inc: include-provider for -Ifunctionsystem/src/function_master/
# and -Ifunctionsystem/src/
cc_library(
name = "function_master_inc",
includes = [
".",
"instance_manager",
"global_scheduler",
"scaler",
"system_function_loader",
"resource_group_manager",
"snap_manager",
],
deps = ["//functionsystem/src:src_root_inc"],
visibility = ["//visibility:public"],
)
# function_master internal sub-libraries
cc_library(
name = "function_master_common_lib",
srcs = glob(["common/**/*.cpp"]),
hdrs = glob(["common/**/*.h"]),
copts = COPTS,
deps = [
":function_master_inc",
"//functionsystem/src/common:status",
"//functionsystem/src/common:rpc",
],
visibility = ["//visibility:private"],
)
cc_library(
name = "function_master_sublibs",
srcs = glob([
"global_scheduler/**/*.cpp",
"instance_manager/**/*.cpp",
"scaler/**/*.cpp",
"system_function_loader/**/*.cpp",
"resource_group_manager/**/*.cpp",
"snap_manager/**/*.cpp",
]),
hdrs = glob([
"global_scheduler/**/*.h",
"instance_manager/**/*.h",
"scaler/**/*.h",
"system_function_loader/**/*.h",
"resource_group_manager/**/*.h",
"snap_manager/**/*.h",
]),
copts = COPTS,
deps = [
":function_master_inc",
":function_master_common_lib",
"//functionsystem/src/common:rpc",
"//functionsystem/src/common:status",
"//functionsystem/src/meta_store/client/cpp:meta_store_client",
"//functionsystem/src/common:scheduler",
"//functionsystem/src/common:utils",
"//functionsystem/src/common:heartbeat",
"//functionsystem/src/common:explorer",
"//functionsystem/src/common:metadata",
"//functionsystem/src/common:metrics_adapter",
"//functionsystem/src/common:trace_adapter",
"//functionsystem/src/common:resource_view",
"//functionsystem/src/common:leader",
"//functionsystem/src/common:scheduler_topology",
"//functionsystem/src/common:kv_client",
"//functionsystem/src/common:service_json",
"//functionsystem/src/domain_scheduler:domain_scheduler_lib",
"//functionsystem/src/common:file_monitor",
"//functionsystem/src/common:meta_store_adapter",
],
visibility = ["//visibility:private"],
)
# function_master binary
cc_binary(
name = "function_master",
srcs = ["main.cpp"],
copts = COPTS + ["-fPIE"],
linkopts = ["-pie"],
deps = [
":function_master_inc",
":function_master_common_lib",
":function_master_sublibs",
"//functionsystem/src/meta_store/client/cpp:meta_store_client",
"//functionsystem/src/meta_store/server:meta_store_lib",
"//functionsystem/src/common:rpc",
"//functionsystem/src/common:leader",
"//functionsystem/src/common:utils",
"//functionsystem/src/common:heartbeat",
"//functionsystem/src/common:hex",
"//functionsystem/src/common:trace_adapter",
"//functionsystem/src/common:all_schedule_plugins",
"@litebus//:litebus",
"@logs_sdk//:logs_sdk",
"@securec//:securec",
],
visibility = ["//visibility:public"],
)