Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.6 KiB
55 lines
1.6 KiB
load("@rules_java//java:defs.bzl", "java_binary", "java_library") |
|
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
|
load("//build_defs:internal_shell.bzl", "inline_sh_binary") |
|
load("//benchmarks:internal.bzl", "internal_benchmark_test") |
|
|
|
java_binary( |
|
name = "java_benchmark_jar", |
|
srcs = [ |
|
"src/main/java/com/google/protobuf/ProtoCaliperBenchmark.java", |
|
], |
|
main_class = "com.google.caliper.runner.CaliperMain", |
|
deps = [ |
|
"//:protobuf_java", |
|
"//benchmarks:benchmarks_java_proto", |
|
"//benchmarks/datasets:java_protos", |
|
"@maven//:com_google_caliper_caliper", |
|
"@maven//:com_google_caliper_caliper_api", |
|
], |
|
) |
|
|
|
# The benchmark binary which can be run over any dataset. |
|
inline_sh_binary( |
|
name = "java_benchmark", |
|
srcs = ["//benchmarks/datasets"], |
|
cmd = """ |
|
data_files="" |
|
conf=() |
|
for arg in "$${@:1}"; do |
|
if [[ $${arg:0:1} == "-" ]]; then |
|
conf+=($$arg) |
|
else |
|
data_files+="$$arg," |
|
fi |
|
done |
|
$(rootpath :java_benchmark_jar) com.google.protobuf.ProtoCaliperBenchmark \ |
|
-i runtime -DdataFile=$${data_files:0:-1} $${conf[*]} |
|
""", |
|
tools = [":java_benchmark_jar"], |
|
) |
|
|
|
# A pre-configured binary using the checked in datasets. |
|
internal_benchmark_test( |
|
name = "java", |
|
binary = ":java_benchmark", |
|
datasets = ["//benchmarks/datasets"], |
|
) |
|
|
|
pkg_files( |
|
name = "dist_files", |
|
srcs = [ |
|
"BUILD.bazel", |
|
] + glob(["**/*.java"]), |
|
strip_prefix = strip_prefix.from_root(""), |
|
visibility = ["//benchmarks:__pkg__"], |
|
)
|
|
|