Browse Source

Bazel: Use java_plugin and java_binary from @rules_java in jmh.bzl

Change-Id: I80456f74bc17a1ebb0248fce8050a4cb07bf18f1
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
tags/v5.6.0.201911271000-m3
David Pursehouse 4 years ago
parent
commit
7554bdfad5
1 changed files with 5 additions and 3 deletions
  1. 5
    3
      tools/bzl/jmh.bzl

+ 5
- 3
tools/bzl/jmh.bzl View File



# Definitions to run jmh microbenchmarks # Definitions to run jmh microbenchmarks


load("@rules_java//java:defs.bzl", "java_binary", "java_plugin")

def jmh_java_benchmarks(name, srcs, deps = [], tags = [], plugins = [], **kwargs): def jmh_java_benchmarks(name, srcs, deps = [], tags = [], plugins = [], **kwargs):
"""Builds runnable JMH benchmarks. """Builds runnable JMH benchmarks.
This rule builds a runnable target for one or more JMH benchmarks This rule builds a runnable target for one or more JMH benchmarks
except for main_class. except for main_class.
""" """
plugin_name = "_{}_jmh_annotation_processor".format(name) plugin_name = "_{}_jmh_annotation_processor".format(name)
native.java_plugin(
java_plugin(
name = plugin_name, name = plugin_name,
deps = ["//lib/jmh:jmh"], deps = ["//lib/jmh:jmh"],
processor_class = "org.openjdk.jmh.generators.BenchmarkProcessor", processor_class = "org.openjdk.jmh.generators.BenchmarkProcessor",
visibility = ["//visibility:private"], visibility = ["//visibility:private"],
tags = tags, tags = tags,
) )
native.java_binary(
java_binary(
name = name, name = name,
srcs = srcs, srcs = srcs,
main_class = "org.openjdk.jmh.Main", main_class = "org.openjdk.jmh.Main",
plugins = plugins + [plugin_name], plugins = plugins + [plugin_name],
tags = tags, tags = tags,
**kwargs **kwargs
)
)

Loading…
Cancel
Save