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