• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("@fmeum_rules_jni//jni:defs.bzl", "java_jni_library")
2
3java_library(
4    name = "junit",
5    visibility = ["//deploy:__pkg__"],
6    runtime_deps = [
7        ":fuzz_test",
8    ],
9)
10
11java_library(
12    name = "agent_configurator",
13    srcs = [
14        "AgentConfigurator.java",
15    ],
16    deps = [
17        ":utils",
18        "@maven//:org_junit_jupiter_junit_jupiter_api",
19    ],
20)
21
22java_library(
23    name = "fuzz_test",
24    srcs = [
25        "AgentConfiguringArgumentsProvider.java",
26        "FuzzTest.java",
27        "FuzzTestExtensions.java",
28        "FuzzingArgumentsProvider.java",
29        "SeedArgumentsProvider.java",
30    ],
31    visibility = [
32        "//examples/junit/src/test/java/com/example:__pkg__",
33    ],
34    runtime_deps = [
35        # The JUnit launcher that is part of the Jazzer driver needs this on the classpath
36        # to run an @FuzzTest with JUnit. This will also result in a transitive dependency
37        # in the generated pom file.
38        "@maven//:org_junit_platform_junit_platform_launcher",
39    ],
40    deps = [
41        ":fuzz_test_executor",
42        ":seed_serializer",
43        ":utils",
44        "@maven//:org_junit_jupiter_junit_jupiter_api",
45        "@maven//:org_junit_jupiter_junit_jupiter_params",
46        "@maven//:org_junit_platform_junit_platform_commons",
47    ],
48)
49
50java_jni_library(
51    name = "fuzz_test_executor",
52    srcs = [
53        "FuzzTestExecutor.java",
54    ],
55    native_libs = [
56        "//src/main/native/com/code_intelligence/jazzer/driver:jazzer_driver",
57    ],
58    deps = [
59        ":agent_configurator",
60        ":seed_serializer",
61        ":utils",
62        "//src/main/java/com/code_intelligence/jazzer/agent:agent_installer",
63        "//src/main/java/com/code_intelligence/jazzer/api",
64        "//src/main/java/com/code_intelligence/jazzer/autofuzz",
65        "//src/main/java/com/code_intelligence/jazzer/driver:fuzz_target_holder",
66        "//src/main/java/com/code_intelligence/jazzer/driver:fuzz_target_runner",
67        "//src/main/java/com/code_intelligence/jazzer/driver:opt",
68        "//src/main/java/com/code_intelligence/jazzer/driver/junit:exit_code_exception",
69        "//src/main/java/com/code_intelligence/jazzer/mutation",
70        "//src/main/java/com/code_intelligence/jazzer/utils",
71        "@maven//:org_junit_jupiter_junit_jupiter_api",
72        "@maven//:org_junit_jupiter_junit_jupiter_params",
73        "@maven//:org_junit_platform_junit_platform_commons",
74    ],
75)
76
77java_library(
78    name = "seed_serializer",
79    srcs = ["SeedSerializer.java"],
80    deps = [
81        "//src/main/java/com/code_intelligence/jazzer/api",
82        "//src/main/java/com/code_intelligence/jazzer/autofuzz",
83        "//src/main/java/com/code_intelligence/jazzer/driver:fuzzed_data_provider_impl",
84        "//src/main/java/com/code_intelligence/jazzer/driver:opt",
85        "//src/main/java/com/code_intelligence/jazzer/mutation",
86    ],
87)
88
89java_library(
90    name = "utils",
91    srcs = ["Utils.java"],
92    visibility = ["//src/test/java/com/code_intelligence/jazzer/junit:__pkg__"],
93    deps = [
94        "//src/main/java/com/code_intelligence/jazzer/utils:unsafe_provider",
95        "//src/main/java/com/code_intelligence/jazzer/utils:unsafe_utils",
96        "@maven//:org_junit_jupiter_junit_jupiter_api",
97        "@maven//:org_junit_jupiter_junit_jupiter_params",
98    ],
99)
100