-
Notifications
You must be signed in to change notification settings - Fork 3
/
BUILD
132 lines (117 loc) · 3.09 KB
/
BUILD
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
load("@//bazel:pkg_info.bzl", "pkg_variables", "pkg_version")
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
load("@mgred_rules_pandoc//pandoc:defs.bzl", "pandoc")
load("@rules_pkg//:mappings.bzl", "pkg_attributes", "pkg_filegroup", "pkg_files")
load("@rules_pkg//:pkg.bzl", "pkg_deb", "pkg_tar", "pkg_zip")
package(default_visibility = ["//visibility:public"])
platform(
name = "arm64-apple-darwin",
constraint_values = [
"@platforms//cpu:arm64",
"@platforms//os:macos",
],
)
platform(
name = "x86_64-apple-darwin",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:macos",
],
)
pandoc(
name = "man",
out = "bazel-compile-commands.1",
input = "documentation.md",
standalone = True,
title = "bazel-compile-commands(1)",
to = "man",
)
pkg_files(
name = "bin_files",
srcs = [
"//bcc:bazel-compile-commands-bin",
],
attributes = pkg_attributes(mode = "0755"),
prefix = "bin",
)
pkg_files(
name = "man_files",
srcs = [":man"],
prefix = "share/man/man1",
)
pkg_filegroup(
name = "usr_files",
srcs = [
":bin_files",
":man_files",
],
prefix = "/usr",
)
pkg_deb(
name = "deb",
architecture = select({
"@platforms//cpu:aarch64": "arm64",
"@platforms//cpu:x86_64": "amd64",
}),
built_using = "unzip (6.0.1)",
data = ":tar",
description = "Generates compile_commands.json file from a Bazel workspace",
homepage = "https://github.com/kiron1/bazel-compile-commands",
maintainer = "Kiron <kiron1@gmail.com>",
package = "bazel-compile-commands",
package_file_name = "bazel-compile-commands_{version}_{architecture}.deb",
package_variables = "@//:variables",
version_file = "@//:version_file",
)
pkg_tar(
name = "tar",
srcs = [":usr_files"],
)
pkg_zip(
name = "zip",
srcs = [":usr_files"],
package_file_name = select({
"@platforms//os:macos": "bazel-compile-commands_{version}_{os}_universal.zip",
"//conditions:default": "bazel-compile-commands_{version}_{os}_{architecture}.zip",
}),
package_variables = "@//:variables",
)
alias(
name = "pkg",
actual = select({
"@platforms//os:linux": ":deb",
# Build a zip file for any other platforms:
"//conditions:default": ":zip",
}),
)
sh_binary(
name = "copy",
srcs = ["copy.sh"],
data = [":pkg"],
env = {"PKG": "$(location :pkg)"},
deps = ["@bazel_tools//tools/bash/runfiles"],
)
pkg_variables(
name = "variables",
architecture = select({
"@platforms//cpu:x86_64": "amd64",
"@platforms//cpu:aarch64": "arm64",
}),
os = select({
"@platforms//os:linux": "linux",
"@platforms//os:macos": "macos",
"@platforms//os:windows": "windows",
"//conditions:default": "unknown",
}),
version = "//:version",
)
pkg_version(
name = "version_file",
out = "version.txt",
version = "//:version",
)
string_flag(
name = "version",
build_setting_default = "0",
visibility = ["//visibility:public"],
)