1*33edd672SMarkworkspace(name = "jazzer") 2*33edd672SMark 3*33edd672SMarkload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file", "http_jar") 4*33edd672SMarkload("//:repositories.bzl", "jazzer_dependencies") 5*33edd672SMark 6*33edd672SMarkjazzer_dependencies(android = True) 7*33edd672SMark 8*33edd672SMarkload("//:init.bzl", "jazzer_init") 9*33edd672SMark 10*33edd672SMarkjazzer_init() 11*33edd672SMark 12*33edd672SMarkhttp_archive( 13*33edd672SMark name = "com_google_protobuf", 14*33edd672SMark patches = ["//third_party:protobuf-disable-layering_check.patch"], 15*33edd672SMark sha256 = "ddf8c9c1ffccb7e80afd183b3bd32b3b62f7cc54b106be190bf49f2bc09daab5", 16*33edd672SMark strip_prefix = "protobuf-23.2", 17*33edd672SMark # Keep in sync with com_google_protobuf_protobuf_java in repositories.bzl. 18*33edd672SMark urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v23.2/protobuf-23.2.tar.gz"], 19*33edd672SMark) 20*33edd672SMark 21*33edd672SMarkhttp_archive( 22*33edd672SMark name = "org_chromium_sysroot_linux_x64", 23*33edd672SMark build_file_content = """ 24*33edd672SMarkfilegroup( 25*33edd672SMark name = "sysroot", 26*33edd672SMark srcs = glob(["*/**"]), 27*33edd672SMark visibility = ["//visibility:public"], 28*33edd672SMark) 29*33edd672SMark""", 30*33edd672SMark sha256 = "84656a6df544ecef62169cfe3ab6e41bb4346a62d3ba2a045dc5a0a2ecea94a3", 31*33edd672SMark urls = ["https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/2202c161310ffde63729f29d27fe7bb24a0bc540/debian_stretch_amd64_sysroot.tar.xz"], 32*33edd672SMark) 33*33edd672SMark 34*33edd672SMarkhttp_archive( 35*33edd672SMark name = "com_grail_bazel_toolchain", 36*33edd672SMark sha256 = "da607faed78c4cb5a5637ef74a36fdd2286f85ca5192222c4664efec2d529bb8", 37*33edd672SMark strip_prefix = "bazel-toolchain-0.6.3", 38*33edd672SMark urls = ["https://github.com/grailbio/bazel-toolchain/archive/refs/tags/0.6.3.tar.gz"], 39*33edd672SMark) 40*33edd672SMark 41*33edd672SMarkhttp_archive( 42*33edd672SMark name = "googletest", 43*33edd672SMark sha256 = "81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2", 44*33edd672SMark strip_prefix = "googletest-release-1.12.1", 45*33edd672SMark url = "https://github.com/google/googletest/archive/refs/tags/release-1.12.1.tar.gz", 46*33edd672SMark) 47*33edd672SMark 48*33edd672SMarkhttp_archive( 49*33edd672SMark name = "rules_foreign_cc", 50*33edd672SMark sha256 = "6041f1374ff32ba711564374ad8e007aef77f71561a7ce784123b9b4b88614fc", 51*33edd672SMark strip_prefix = "rules_foreign_cc-0.8.0", 52*33edd672SMark url = "https://github.com/bazelbuild/rules_foreign_cc/archive/refs/tags/0.8.0.tar.gz", 53*33edd672SMark) 54*33edd672SMark 55*33edd672SMarkhttp_archive( 56*33edd672SMark name = "rules_jvm_external", 57*33edd672SMark sha256 = "6ebe13d95fc5549cc32b27d41c907426b16464c5aae893a163c7fe0c9051ec1d", 58*33edd672SMark # TODO: Return to the next release. 59*33edd672SMark strip_prefix = "rules_jvm_external-90280783fa4e74439b88191acafd99232ada61aa", 60*33edd672SMark url = "https://github.com/bazelbuild/rules_jvm_external/archive/90280783fa4e74439b88191acafd99232ada61aa.tar.gz", 61*33edd672SMark) 62*33edd672SMark 63*33edd672SMarkhttp_archive( 64*33edd672SMark name = "libjpeg_turbo", 65*33edd672SMark build_file = "//third_party:libjpeg_turbo.BUILD", 66*33edd672SMark sha256 = "6a965adb02ad898b2ae48214244618fe342baea79db97157fdc70d8844ac6f09", 67*33edd672SMark strip_prefix = "libjpeg-turbo-2.0.90", 68*33edd672SMark url = "https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.90.tar.gz", 69*33edd672SMark) 70*33edd672SMark 71*33edd672SMarkhttp_archive( 72*33edd672SMark name = "rules_pkg", 73*33edd672SMark sha256 = "8a298e832762eda1830597d64fe7db58178aa84cd5926d76d5b744d6558941c2", 74*33edd672SMark urls = [ 75*33edd672SMark "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz", 76*33edd672SMark "https://github.com/bazelbuild/rules_pkg/releases/download/0.7.0/rules_pkg-0.7.0.tar.gz", 77*33edd672SMark ], 78*33edd672SMark) 79*33edd672SMark 80*33edd672SMarkhttp_archive( 81*33edd672SMark name = "contrib_rules_jvm", 82*33edd672SMark # TODO: Return to the next release. 83*33edd672SMark sha256 = "57dfe16edee7b6df7fcc2b92551aab233e9c802a7aba420e5302b99f3eccbbc3", 84*33edd672SMark strip_prefix = "rules_jvm-80780e1b1d9cc041b843acc3155a2828a57d5807", 85*33edd672SMark url = "https://github.com/bazel-contrib/rules_jvm/archive/80780e1b1d9cc041b843acc3155a2828a57d5807.tar.gz", 86*33edd672SMark) 87*33edd672SMark 88*33edd672SMarkhttp_archive( 89*33edd672SMark name = "build_bazel_rules_android", 90*33edd672SMark sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", 91*33edd672SMark strip_prefix = "rules_android-0.1.1", 92*33edd672SMark urls = ["https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip"], 93*33edd672SMark) 94*33edd672SMark 95*33edd672SMarkhttp_archive( 96*33edd672SMark name = "rules_android_ndk", 97*33edd672SMark sha256 = "0fcaeed391bfc0ee784ab0365312e6c59fe75db9df3a67e8708c606e2a9cfd90", 98*33edd672SMark strip_prefix = "rules_android_ndk-79923720aef601fad89c94e8802f5d77c1b73c5d", 99*33edd672SMark url = "https://github.com/bazelbuild/rules_android_ndk/archive/79923720aef601fad89c94e8802f5d77c1b73c5d.zip", 100*33edd672SMark) 101*33edd672SMark 102*33edd672SMarkhttp_file( 103*33edd672SMark name = "genhtml", 104*33edd672SMark downloaded_file_path = "genhtml", 105*33edd672SMark executable = True, 106*33edd672SMark sha256 = "4120cc9186a0687db218520a2d0dc9bae75d15faf41d87448b6b6c5140c19156", 107*33edd672SMark urls = ["https://raw.githubusercontent.com/linux-test-project/lcov/6da8399c7a7a3370de2c69b16b092e945442ffcd/bin/genhtml"], 108*33edd672SMark) 109*33edd672SMark 110*33edd672SMarkhttp_file( 111*33edd672SMark name = "jacocoagent", 112*33edd672SMark downloaded_file_path = "jacocoagent.jar", 113*33edd672SMark sha256 = "191734a0b7ef97606e6a09ae584c4acab47eb30fcb4c555d3d440d4e0d71d73d", 114*33edd672SMark urls = ["https://repo1.maven.org/maven2/org/jacoco/org.jacoco.agent/0.8.9/org.jacoco.agent-0.8.9-runtime.jar"], 115*33edd672SMark) 116*33edd672SMark 117*33edd672SMarkhttp_file( 118*33edd672SMark name = "jacococli", 119*33edd672SMark downloaded_file_path = "jacococli.jar", 120*33edd672SMark sha256 = "29c7754338512599f742ebfedd095c9c93800fefbce407500eceb16f0ed5a20d", 121*33edd672SMark urls = ["https://repo1.maven.org/maven2/org/jacoco/org.jacoco.cli/0.8.9/org.jacoco.cli-0.8.9-nodeps.jar"], 122*33edd672SMark) 123*33edd672SMark 124*33edd672SMarkload("@contrib_rules_jvm//:repositories.bzl", "contrib_rules_jvm_deps") 125*33edd672SMark 126*33edd672SMarkcontrib_rules_jvm_deps() 127*33edd672SMark 128*33edd672SMarkload("@contrib_rules_jvm//:setup.bzl", "contrib_rules_jvm_setup") 129*33edd672SMark 130*33edd672SMarkcontrib_rules_jvm_setup() 131*33edd672SMark 132*33edd672SMarkload("@com_grail_bazel_toolchain//toolchain:deps.bzl", "bazel_toolchain_dependencies") 133*33edd672SMark 134*33edd672SMarkbazel_toolchain_dependencies() 135*33edd672SMark 136*33edd672SMarkload("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm_toolchain") 137*33edd672SMark 138*33edd672SMarkllvm_toolchain( 139*33edd672SMark name = "llvm_toolchain", 140*33edd672SMark llvm_version = "13.0.0", 141*33edd672SMark sysroot = { 142*33edd672SMark "linux-x86_64": "@org_chromium_sysroot_linux_x64//:sysroot", 143*33edd672SMark }, 144*33edd672SMark) 145*33edd672SMark 146*33edd672SMarkload("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps") 147*33edd672SMark 148*33edd672SMarkrules_jvm_external_deps() 149*33edd672SMark 150*33edd672SMarkload("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup") 151*33edd672SMark 152*33edd672SMarkrules_jvm_external_setup() 153*33edd672SMark 154*33edd672SMarkload("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies") 155*33edd672SMark 156*33edd672SMarkrules_foreign_cc_dependencies() 157*33edd672SMark 158*33edd672SMarkload("@rules_jvm_external//:defs.bzl", "maven_install") 159*33edd672SMarkload("//:maven.bzl", "MAVEN_ARTIFACTS") 160*33edd672SMark 161*33edd672SMarkmaven_install( 162*33edd672SMark artifacts = MAVEN_ARTIFACTS, 163*33edd672SMark fail_if_repin_required = True, 164*33edd672SMark maven_install_json = "//:maven_install.json", 165*33edd672SMark override_targets = { 166*33edd672SMark "org.jetbrains.kotlin:kotlin-reflect": "@com_github_jetbrains_kotlin//:kotlin-reflect", 167*33edd672SMark "org.jetbrains.kotlin:kotlin-stdlib": "@com_github_jetbrains_kotlin//:kotlin-stdlib", 168*33edd672SMark "com.google.errorprone:error_prone_annotations": "@com_google_errorprone_error_prone_annotations//jar", 169*33edd672SMark }, 170*33edd672SMark repositories = [ 171*33edd672SMark "https://repo1.maven.org/maven2", 172*33edd672SMark ], 173*33edd672SMark strict_visibility = True, 174*33edd672SMark) 175*33edd672SMark 176*33edd672SMarkload("@maven//:defs.bzl", "pinned_maven_install") 177*33edd672SMark 178*33edd672SMarkpinned_maven_install() 179*33edd672SMark 180*33edd672SMarkload("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") 181*33edd672SMark 182*33edd672SMarkrules_pkg_dependencies() 183*33edd672SMark 184*33edd672SMarkload("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") 185*33edd672SMark 186*33edd672SMarkprotobuf_deps() 187*33edd672SMark 188*33edd672SMarkhttp_file( 189*33edd672SMark name = "jacocoagent", 190*33edd672SMark downloaded_file_path = "jacocoagent.jar", 191*33edd672SMark sha256 = "67de51e9ca1db044f3a3d10613518befb02e8eee1015f2ff6d56cfb9d4506546", 192*33edd672SMark urls = ["https://repo1.maven.org/maven2/org/jacoco/org.jacoco.agent/0.8.8/org.jacoco.agent-0.8.8-runtime.jar"], 193*33edd672SMark) 194*33edd672SMark 195*33edd672SMarkhttp_file( 196*33edd672SMark name = "jacococli", 197*33edd672SMark downloaded_file_path = "jacococli.jar", 198*33edd672SMark sha256 = "c449591174982bbc003d1290003fcbc7b939215436922d2f0f25239d110d531a", 199*33edd672SMark urls = ["https://repo1.maven.org/maven2/org/jacoco/org.jacoco.cli/0.8.8/org.jacoco.cli-0.8.8-nodeps.jar"], 200*33edd672SMark) 201*33edd672SMark 202*33edd672SMarkload("//third_party/android:android_configure.bzl", "android_configure") 203*33edd672SMark 204*33edd672SMarkandroid_configure(name = "configure_android_rules") 205*33edd672SMark 206*33edd672SMarkload("@configure_android_rules//:android_configure.bzl", "android_workspace") 207*33edd672SMark 208*33edd672SMarkandroid_workspace() 209*33edd672SMark 210*33edd672SMarkhttp_archive( 211*33edd672SMark name = "buildifier_prebuilt", 212*33edd672SMark sha256 = "7015c623143084bbdb3d2bb955087deb7cbb8e4806df457f3340d64b6eda876e", 213*33edd672SMark strip_prefix = "buildifier-prebuilt-5b6adef925e98f90305d69de6d7ad70dd512c4ee", 214*33edd672SMark urls = [ 215*33edd672SMark "https://github.com/keith/buildifier-prebuilt/archive/5b6adef925e98f90305d69de6d7ad70dd512c4ee.tar.gz", 216*33edd672SMark ], 217*33edd672SMark) 218*33edd672SMark 219*33edd672SMarkload("@buildifier_prebuilt//:deps.bzl", "buildifier_prebuilt_deps") 220*33edd672SMark 221*33edd672SMarkbuildifier_prebuilt_deps() 222*33edd672SMark 223*33edd672SMarkload("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") 224*33edd672SMark 225*33edd672SMarkbazel_skylib_workspace() 226*33edd672SMark 227*33edd672SMarkload("@buildifier_prebuilt//:defs.bzl", "buildifier_prebuilt_register_toolchains") 228*33edd672SMark 229*33edd672SMarkbuildifier_prebuilt_register_toolchains() 230*33edd672SMark 231*33edd672SMarkhttp_file( 232*33edd672SMark name = "clang-format-15-darwin-x64", 233*33edd672SMark downloaded_file_path = "clang-format", 234*33edd672SMark executable = True, 235*33edd672SMark sha256 = "97116f64d97fb2870b4aa29758bba8fb0fe7f3b1ed8a4bc12faa927ecfdec196", 236*33edd672SMark urls = [ 237*33edd672SMark "https://github.com/angular/clang-format/raw/master/bin/darwin_x64/clang-format", 238*33edd672SMark ], 239*33edd672SMark) 240*33edd672SMark 241*33edd672SMarkhttp_file( 242*33edd672SMark name = "clang-format-15-linux-x64", 243*33edd672SMark downloaded_file_path = "clang-format", 244*33edd672SMark executable = True, 245*33edd672SMark sha256 = "050c600256e225eabe9608d28f492fe8673c6e7f5deac59c6da973223c764d6c", 246*33edd672SMark urls = [ 247*33edd672SMark "https://github.com/angular/clang-format/raw/master/bin/linux_x64/clang-format", 248*33edd672SMark ], 249*33edd672SMark) 250*33edd672SMark 251*33edd672SMarkhttp_file( 252*33edd672SMark name = "addlicense-darwin-universal", 253*33edd672SMark downloaded_file_path = "addlicense", 254*33edd672SMark executable = True, 255*33edd672SMark sha256 = "9c08964e15d6ed0568c4e8a5f861bcc2122498419586fbe87e08add56d18762d", 256*33edd672SMark urls = [ 257*33edd672SMark "https://github.com/CodeIntelligenceTesting/addlicense/releases/download/v1.1.1/addlicense-darwin-universal", 258*33edd672SMark ], 259*33edd672SMark) 260*33edd672SMark 261*33edd672SMarkhttp_file( 262*33edd672SMark name = "addlicense-linux-amd64", 263*33edd672SMark downloaded_file_path = "addlicense", 264*33edd672SMark executable = True, 265*33edd672SMark sha256 = "521e680ff085f511d760aa139a0e869238ab4c936e89d258ac3432147d9e8be9", 266*33edd672SMark urls = [ 267*33edd672SMark "https://github.com/CodeIntelligenceTesting/addlicense/releases/download/v1.1.1/addlicense-linux-amd64", 268*33edd672SMark ], 269*33edd672SMark) 270*33edd672SMark 271*33edd672SMarkhttp_archive( 272*33edd672SMark name = "libprotobuf-mutator", 273*33edd672SMark build_file_content = """ 274*33edd672SMarkcc_library( 275*33edd672SMark name = "libprotobuf-mutator", 276*33edd672SMark srcs = glob([ 277*33edd672SMark "src/*.cc", 278*33edd672SMark "src/*.h", 279*33edd672SMark "src/libfuzzer/*.cc", 280*33edd672SMark "src/libfuzzer/*.h", 281*33edd672SMark "port/protobuf.h", 282*33edd672SMark ], exclude = [ 283*33edd672SMark "**/*_test.cc", 284*33edd672SMark ]), 285*33edd672SMark hdrs = ["src/libfuzzer/libfuzzer_macro.h"], 286*33edd672SMark deps = ["@com_google_protobuf//:protobuf"], 287*33edd672SMark visibility = ["//visibility:public"], 288*33edd672SMark) 289*33edd672SMark""", 290*33edd672SMark sha256 = "21bfdfef25554fa2e30aec2a9f9b58f4a17c1d8c8593763fa94a6dd74b226594", 291*33edd672SMark strip_prefix = "libprotobuf-mutator-3b28530531b154a748fe9884bc9219b4966f0754", 292*33edd672SMark urls = ["https://github.com/google/libprotobuf-mutator/archive/3b28530531b154a748fe9884bc9219b4966f0754.tar.gz"], 293*33edd672SMark) 294*33edd672SMark 295*33edd672SMarkhttp_file( 296*33edd672SMark name = "android_jvmti", 297*33edd672SMark downloaded_file_path = "jvmti.encoded", 298*33edd672SMark sha256 = "95bd6fb4f296ff1c49b893c1d3a665de3c2b1beaa3cc8fc570dea992202daa35", 299*33edd672SMark url = "https://android.googlesource.com/platform/art/+/1cff8449bac0fdab6e84dc9255c3cccd504c1705/openjdkjvmti/include/jvmti.h?format=TEXT", 300*33edd672SMark) 301