forked from protoconf/protoconf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBUILD.bazel
152 lines (136 loc) · 5.18 KB
/
BUILD.bazel
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
load("@bazel_gazelle//:def.bzl", "gazelle")
load("@io_bazel_rules_go//go:def.bzl", "nogo")
load("@graknlabs_bazel_distribution//common:rules.bzl", "assemble_zip", "assemble_targz", "assemble_versioned")
load("@graknlabs_bazel_distribution//github:rules.bzl", "deploy_github")
# gazelle:prefix github.com/protoconf/protoconf
gazelle(name = "gazelle")
nogo(
name = "protoconf_nogo",
config = "//tools:nogo_config",
visibility = ["//visibility:public"],
deps = [
"@org_golang_x_tools//go/analysis/passes/asmdecl:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/assign:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/atomic:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/atomicalign:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/bools:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/buildssa:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/buildtag:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/cgocall:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/composite:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/copylock:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/ctrlflow:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/deepequalerrors:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/findcall:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/httpresponse:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/inspect:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/loopclosure:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/lostcancel:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/nilfunc:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/nilness:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/pkgfact:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/printf:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/shadow:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/shift:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/stdmethods:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/structtag:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/tests:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/unmarshal:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/unreachable:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/unsafeptr:go_tool_library",
"@org_golang_x_tools//go/analysis/passes/unusedresult:go_tool_library",
],
)
alias(
name = "protoconf",
actual = "//cmd/protoconf",
)
alias(
name = "buildifier",
actual = "@com_github_bazelbuild_buildtools//buildifier",
)
genrule(
name = "release",
outs = ["out.txt"],
cmd = "&&".join([
"$(location //docker:protoconf_release)",
"$(location //docker:agent_release)",
"$(location //docker:server_release)",
"echo 'echo done' > $@",
]),
exec_tools = [
"//docker:protoconf_release",
"//docker:agent_release",
"//docker:server_release",
],
tags = ["manual"],
executable = True,
)
# `root_proto` and `go_default_library` helps with compiling examples which uses `import "secret.proto"`
alias(
name = "root_proto",
actual = "//protostdlib/secret:secret_proto",
visibility = ["//visibility:public"],
)
alias(
name = "go_default_library",
actual = "//protostdlib/secret:go_default_library",
visibility = ["//visibility:public"],
)
# Releasing protoconf
assemble_targz(
name = "protoconf-darwin",
additional_files = {
"//cmd/protoconf:protoconf-darwin": "./protoconf",
},
output_filename = "",
)
assemble_targz(
name = "protoconf-linux",
additional_files = {
"//cmd/protoconf:protoconf-linux": "./protoconf",
},
output_filename = "",
)
assemble_targz(
name = "protoconf-windows-tgz",
additional_files = {
"//cmd/protoconf:protoconf-windows": "./protoconf.exe",
},
output_filename = "",
)
assemble_zip(
name = "protoconf-windows",
targets = [":protoconf-windows-tgz"],
output_filename = "protoconf-windows",
)
assemble_versioned(
name = "protoconf-versioned-all",
version_file = "//:VERSION",
targets = [
":protoconf-linux",
":protoconf-darwin",
":protoconf-windows",
],
)
load("@graknlabs_bazel_distribution//github:rules.bzl", "deploy_github")
deploy_github(
name = "deploy-github",
deployment_properties = "//:deployment.properties",
title = "protoconf",
title_append_version = True,
version_file = "//:VERSION",
# release_description = "//:RELEASE_TEMPLATE.md",
archive = ":protoconf-versioned-all",
)
filegroup(
name = "coverage_files",
srcs = glob(["bazel-out/**/coverage.dat"]),
)
genrule(
name = "aggregate_cov_files",
srcs = [":coverage_files"],
cmd = "echo 'mode: set' > $@; grep -h -v '^mode: set$$' $(locations :coverage_files) >> $@",
tags = ["manual"],
outs = ["coverage.dat"],
)