Skip to content

Commit 9ee2120

Browse files
authored
Use genrules to copy the entrypoint and descriptor into the package (#24)
Simplifies embedding pathing
1 parent 935786e commit 9ee2120

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

rules/grpcstar_binary.bzl

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ def _grpcstar_entrypoint_impl(ctx):
1313
)
1414
return [DefaultInfo(
1515
files = depset([ctx.outputs.go]),
16-
runfiles = None,
17-
data_runfiles = None,
18-
default_runfiles = None,
19-
executable = None,
2016
)]
2117

2218
_grpcstar_entrypoint = rule(
@@ -55,8 +51,10 @@ def grpcstar_binary(**kwargs):
5551
None
5652
"""
5753
name = kwargs.pop("name")
58-
mainname = name + "_main"
54+
goname = name + "_main"
5955
libname = name + "_lib"
56+
starname = name + "_star"
57+
dname = name + "_descriptor"
6058

6159
scripts = kwargs.pop("scripts", [])
6260
srcs = kwargs.pop("srcs", [])
@@ -73,21 +71,35 @@ def grpcstar_binary(**kwargs):
7371
if not main:
7472
fail("grpcstar_binary.main is required")
7573

74+
native.genrule(
75+
name = starname,
76+
srcs = [main],
77+
outs = [name + ".star"],
78+
cmd = "cp $< $@",
79+
)
80+
81+
native.genrule(
82+
name = dname,
83+
srcs = [descriptor],
84+
outs = [name + ".descriptor"],
85+
cmd = "cp $< $@",
86+
)
87+
7688
_grpcstar_entrypoint(
77-
name = mainname,
78-
main = main,
79-
descriptor = descriptor,
89+
name = goname,
90+
main = starname,
91+
descriptor = dname,
8092
)
8193

8294
go_library(
8395
name = libname,
84-
srcs = srcs + [mainname],
96+
srcs = srcs + [goname],
8597
importpath = importpath,
86-
embedsrcs = [main, descriptor] + scripts,
98+
embedsrcs = [starname, dname] + scripts,
8799
visibility = visibility,
88100
deps = deps + [
89-
"//pkg/program",
90-
"//pkg/protodescriptorset",
101+
str(Label("//pkg/program")),
102+
str(Label("//pkg/protodescriptorset")),
91103
],
92104
)
93105

0 commit comments

Comments
 (0)