xref: /aosp_15_r20/external/jazzer-api/WORKSPACE.bazel (revision 33edd6723662ea34453766bfdca85dbfdd5342b8)
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