aboutsummaryrefslogtreecommitdiff
path: root/BUILD.bazel
blob: cf7f5d3e6bf27105f66344ed55786e3642488bb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "define_kt_toolchain")
load("@io_bazel_rules_kotlin//kotlin/internal:opts.bzl", "kt_javac_options", "kt_kotlinc_options")

exports_files(["LICENSE"])

kt_kotlinc_options(
    name = "kotlinc_options",
)

kt_javac_options(
    name = "default_javac_options",
)

define_kt_toolchain(
    name = "kotlin_toolchain",
    api_version = "1.5",
    javac_options = ":default_javac_options",
    jvm_target = "1.8",
    kotlinc_options = ":kotlinc_options",
    language_version = "1.5",
)

pkg_tar(
    name = "jazzer_release",
    srcs = [
        "//agent:jazzer_agent_deploy.jar",
        "//agent:jazzer_api_deploy.jar",
        "//bazel:jazzer",
        "//driver:jazzer_driver",
    ],
    extension = "tar.gz",
    mode = "0777",
    remap_paths = {"bazel/": ""},
)

sh_binary(
    name = "jazzer",
    srcs = ["//bazel:jazzer_wrapper.sh"],
    args = [
        "$(rootpath //driver:jazzer_driver)",
    ],
    data = [
        "//driver:jazzer_driver",
    ],
    deps = [
        "@bazel_tools//tools/bash/runfiles",
    ],
)

sh_binary(
    name = "jazzer_asan",
    srcs = ["//bazel:jazzer_wrapper.sh"],
    args = [
        "$(rootpath //driver:jazzer_driver_asan)",
    ],
    data = [
        "//driver:jazzer_driver_asan",
    ],
)

sh_binary(
    name = "jazzer_ubsan",
    srcs = ["//bazel:jazzer_wrapper.sh"],
    args = [
        "$(rootpath //driver:jazzer_driver_ubsan)",
    ],
    data = [
        "//driver:jazzer_driver_ubsan",
    ],
)

exports_files([
    "jazzer-api.pom",
])

# To publish a new release to Maven, run:
# bazel run --config=maven --define "maven_user=..." --define "maven_password=..." --define gpg_sign=true //:jazzer-api.publish
alias(
    name = "jazzer-api.publish",
    actual = "//agent/src/main/java/com/code_intelligence/jazzer/api:api_export.publish",
)

config_setting(
    name = "clang",
    flag_values = {"@bazel_tools//tools/cpp:compiler": "clang"},
    visibility = ["//visibility:public"],
)

alias(
    name = "clang_on_linux",
    actual = select({
        ":clang": "@platforms//os:linux",
        "//conditions:default": ":clang",
    }),
)