Externalize mediapipe_aar

Cleans up labels used in mediapipe_aar.bzl and mediapipe_graph.bzl
so that mediapipe_aar macro is correctly expanded when used from
a different repository.
This commit is contained in:
Sohaib Errabii 2023-05-04 09:51:06 +02:00
parent c6e3f08282
commit 84b4648459
6 changed files with 25 additions and 23 deletions

View File

@ -97,7 +97,7 @@ mediapipe_proto_library(
name = "mediapipe_options_proto", name = "mediapipe_options_proto",
srcs = ["mediapipe_options.proto"], srcs = ["mediapipe_options.proto"],
visibility = [ visibility = [
":mediapipe_internal", "//visibility:public",
], ],
) )
@ -126,14 +126,14 @@ mediapipe_proto_library(
mediapipe_proto_library( mediapipe_proto_library(
name = "status_handler_proto", name = "status_handler_proto",
srcs = ["status_handler.proto"], srcs = ["status_handler.proto"],
visibility = [":mediapipe_internal"], visibility = ["//visibility:public"],
deps = [":mediapipe_options_proto"], deps = [":mediapipe_options_proto"],
) )
mediapipe_proto_library( mediapipe_proto_library(
name = "stream_handler_proto", name = "stream_handler_proto",
srcs = ["stream_handler.proto"], srcs = ["stream_handler.proto"],
visibility = [":mediapipe_internal"], visibility = ["//visibility:public"],
deps = [":mediapipe_options_proto"], deps = [":mediapipe_options_proto"],
) )

View File

@ -247,10 +247,10 @@ def mediapipe_options_library(
name = name + "_type_name", name = name + "_type_name",
srcs = [proto_lib + "_direct-direct-descriptor-set.proto.bin"], srcs = [proto_lib + "_direct-direct-descriptor-set.proto.bin"],
outs = [name + "_type_name.h"], outs = [name + "_type_name.h"],
cmd = ("$(location " + "//mediapipe/framework/tool:message_type_util" + ") " + cmd = ("$(location " + clean_dep("//mediapipe/framework/tool:message_type_util") + ") " +
("--input_path=$(location %s) " % (proto_lib + "_direct-direct-descriptor-set.proto.bin")) + ("--input_path=$(location %s) " % (proto_lib + "_direct-direct-descriptor-set.proto.bin")) +
("--root_type_macro_output_path=$(location %s) " % (name + "_type_name.h"))), ("--root_type_macro_output_path=$(location %s) " % (name + "_type_name.h"))),
tools = ["//mediapipe/framework/tool:message_type_util"], tools = [clean_dep("//mediapipe/framework/tool:message_type_util")],
visibility = visibility, visibility = visibility,
testonly = testonly, testonly = testonly,
compatible_with = compatible_with, compatible_with = compatible_with,

View File

@ -94,5 +94,5 @@ android_library(
filegroup( filegroup(
name = "java_src", name = "java_src",
srcs = glob(["*.java"]), srcs = glob(["*.java"]),
visibility = ["//mediapipe:__subpackages__"], visibility = ["//visibility:public"],
) )

View File

@ -145,5 +145,5 @@ filegroup(
["*.java"], ["*.java"],
exclude = ["TypeNameRegistryFull.java"], exclude = ["TypeNameRegistryFull.java"],
), ),
visibility = ["//mediapipe:__subpackages__"], visibility = ["//visibility:public"],
) )

View File

@ -35,5 +35,5 @@ android_library(
filegroup( filegroup(
name = "java_src", name = "java_src",
srcs = glob(["**/*.java"]), srcs = glob(["**/*.java"]),
visibility = ["//mediapipe:__subpackages__"], visibility = ["//visibility:public"],
) )

View File

@ -41,6 +41,7 @@ Finally, imports the aar into Android Studio.
""" """
load("//mediapipe/framework/tool:build_defs.bzl", "clean_dep", "clean_deps")
load("@build_bazel_rules_android//android:rules.bzl", "android_binary", "android_library") load("@build_bazel_rules_android//android:rules.bzl", "android_binary", "android_library")
def mediapipe_aar( def mediapipe_aar(
@ -107,19 +108,18 @@ EOF
android_library( android_library(
name = name + "_android_lib", name = name + "_android_lib",
srcs = srcs + [ srcs = srcs + clean_deps([
"//mediapipe/java/com/google/mediapipe/components:java_src", "//mediapipe/java/com/google/mediapipe/components:java_src",
"//mediapipe/java/com/google/mediapipe/framework:java_src", "//mediapipe/java/com/google/mediapipe/framework:java_src",
"//mediapipe/java/com/google/mediapipe/glutil:java_src", "//mediapipe/java/com/google/mediapipe/glutil:java_src",
] + mediapipe_java_proto_srcs() + ]) + mediapipe_java_proto_srcs() +
select({ select({
"//conditions:default": [], "//conditions:default": [],
"enable_stats_logging": mediapipe_logging_java_proto_srcs(), "enable_stats_logging": mediapipe_logging_java_proto_srcs(),
}), }),
manifest = "AndroidManifest.xml", manifest = "AndroidManifest.xml",
proguard_specs = ["//mediapipe/java/com/google/mediapipe/framework:proguard.pgcfg"], proguard_specs = [clean_dep("//mediapipe/java/com/google/mediapipe/framework:proguard.pgcfg")],
deps = [ deps = clean_deps([
":" + name + "_jni_cc_lib",
"//mediapipe/framework:calculator_java_proto_lite", "//mediapipe/framework:calculator_java_proto_lite",
"//mediapipe/framework:calculator_profile_java_proto_lite", "//mediapipe/framework:calculator_profile_java_proto_lite",
"//mediapipe/framework:calculator_options_java_proto_lite", "//mediapipe/framework:calculator_options_java_proto_lite",
@ -142,6 +142,8 @@ EOF
"//third_party:camerax_core", "//third_party:camerax_core",
"//third_party:camerax_camera2", "//third_party:camerax_camera2",
"//third_party:camerax_lifecycle", "//third_party:camerax_lifecycle",
]) + [
":" + name + "_jni_cc_lib",
"@com_google_protobuf//:protobuf_javalite", "@com_google_protobuf//:protobuf_javalite",
"@maven//:com_google_code_findbugs_jsr305", "@maven//:com_google_code_findbugs_jsr305",
"@maven//:com_google_flogger_flogger", "@maven//:com_google_flogger_flogger",
@ -150,7 +152,7 @@ EOF
"@maven//:androidx_lifecycle_lifecycle_common", "@maven//:androidx_lifecycle_lifecycle_common",
] + select({ ] + select({
"//conditions:default": [":" + name + "_jni_opencv_cc_lib"], "//conditions:default": [":" + name + "_jni_opencv_cc_lib"],
"//mediapipe/framework/port:disable_opencv": [], clean_dep("//mediapipe/framework/port:disable_opencv"): [],
"exclude_opencv_so_lib": [], "exclude_opencv_so_lib": [],
}) + select({ }) + select({
"//conditions:default": [], "//conditions:default": [],
@ -183,7 +185,7 @@ def _mediapipe_jni(name, gen_libmediapipe, calculators = []):
linkshared = 1, linkshared = 1,
linkstatic = 1, linkstatic = 1,
deps = [ deps = [
"//mediapipe/java/com/google/mediapipe/framework/jni:mediapipe_framework_jni", clean_dep("//mediapipe/java/com/google/mediapipe/framework/jni:mediapipe_framework_jni"),
] + calculators, ] + calculators,
) )
@ -196,11 +198,11 @@ def _mediapipe_jni(name, gen_libmediapipe, calculators = []):
native.cc_library( native.cc_library(
name = name + "_opencv_cc_lib", name = name + "_opencv_cc_lib",
srcs = select({ srcs = select({
"//mediapipe:android_arm64": ["@android_opencv//:libopencv_java3_so_arm64-v8a"], clean_dep("//mediapipe:android_arm64"): ["@android_opencv//:libopencv_java3_so_arm64-v8a"],
"//mediapipe:android_armeabi": ["@android_opencv//:libopencv_java3_so_armeabi-v7a"], clean_dep("//mediapipe:android_armeabi"): ["@android_opencv//:libopencv_java3_so_armeabi-v7a"],
"//mediapipe:android_arm": ["@android_opencv//:libopencv_java3_so_armeabi-v7a"], clean_dep("//mediapipe:android_arm"): ["@android_opencv//:libopencv_java3_so_armeabi-v7a"],
"//mediapipe:android_x86": ["@android_opencv//:libopencv_java3_so_x86"], clean_dep("//mediapipe:android_x86"): ["@android_opencv//:libopencv_java3_so_x86"],
"//mediapipe:android_x86_64": ["@android_opencv//:libopencv_java3_so_x86_64"], clean_dep("//mediapipe:android_x86_64"): ["@android_opencv//:libopencv_java3_so_x86_64"],
"//conditions:default": [], "//conditions:default": [],
}), }),
alwayslink = 1, alwayslink = 1,
@ -270,11 +272,11 @@ def mediapipe_java_proto_src_extractor(target, src_out, name = ""):
""" """
if not name: if not name:
name = target.split(":")[-1] + "_proto_java_src_extractor" name = target.split(":")[-1]
src_jar = target.replace("_java_proto_lite", "_proto-lite-src.jar").replace(":", "/").replace("//", "") src_jar = Label(target).workspace_root + target.replace("_java_proto_lite", "_proto-lite-src.jar").replace(":", "/").replace("//", "/")
native.genrule( native.genrule(
name = name + "_proto_java_src_extractor", name = name + "_proto_java_src_extractor",
srcs = [target], srcs = [clean_dep(target)],
outs = [src_out], outs = [src_out],
cmd = "unzip $(GENDIR)/" + src_jar + " -d $(GENDIR) && mv $(GENDIR)/" + cmd = "unzip $(GENDIR)/" + src_jar + " -d $(GENDIR) && mv $(GENDIR)/" +
src_out + " $$(dirname $(location " + src_out + "))", src_out + " $$(dirname $(location " + src_out + "))",