71 lines
1.9 KiB
Python
71 lines
1.9 KiB
Python
load("@com_github_johnynek_bazel_jar_jar//:jar_jar.bzl", "jar_jar")
|
|
load("//bazel:compat.bzl", "SKIP_ON_WINDOWS")
|
|
load("//bazel:jar.bzl", "strip_jar")
|
|
load("//sanitizers:sanitizers.bzl", "SANITIZER_CLASSES")
|
|
|
|
java_binary(
|
|
name = "jazzer_agent_unshaded",
|
|
create_executable = False,
|
|
deploy_manifest_lines = [
|
|
"Premain-Class: com.code_intelligence.jazzer.agent.Agent",
|
|
"Can-Retransform-Classes: true",
|
|
"Jazzer-Hook-Classes: ",
|
|
] + [" {}:".format(c) for c in SANITIZER_CLASSES],
|
|
runtime_deps = [
|
|
"//agent/src/main/java/com/code_intelligence/jazzer/agent:agent_lib",
|
|
"//driver/src/main/java/com/code_intelligence/jazzer/driver",
|
|
"//sanitizers",
|
|
],
|
|
)
|
|
|
|
strip_jar(
|
|
name = "jazzer_agent_deploy",
|
|
out = "jazzer_agent_deploy.jar",
|
|
jar = ":jazzer_agent_shaded_deploy",
|
|
paths_to_strip = [
|
|
"module-info.class",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
jar_jar(
|
|
name = "jazzer_agent_shaded_deploy",
|
|
input_jar = "jazzer_agent_unshaded_deploy.jar",
|
|
rules = "agent_shade_rules",
|
|
)
|
|
|
|
sh_test(
|
|
name = "jazzer_agent_shading_test",
|
|
srcs = ["verify_shading.sh"],
|
|
args = [
|
|
"$(rootpath :jazzer_agent_deploy)",
|
|
],
|
|
data = [
|
|
":jazzer_agent_deploy",
|
|
"@local_jdk//:bin/jar",
|
|
],
|
|
tags = [
|
|
# Coverage instrumentation necessarily adds files to the jar that we
|
|
# wouldn't want to release and thus causes this test to fail.
|
|
"no-coverage",
|
|
],
|
|
target_compatible_with = SKIP_ON_WINDOWS,
|
|
)
|
|
|
|
java_binary(
|
|
name = "jazzer_api",
|
|
create_executable = False,
|
|
visibility = ["//visibility:public"],
|
|
runtime_deps = ["//agent/src/main/java/com/code_intelligence/jazzer/api"],
|
|
)
|
|
|
|
java_import(
|
|
name = "jazzer_api_compile_only",
|
|
jars = [
|
|
":jazzer_api_deploy.jar",
|
|
],
|
|
neverlink = True,
|
|
visibility = ["//visibility:public"],
|
|
deps = [],
|
|
)
|