@@ -26,6 +26,9 @@ _download_tag = tag_class(
26
26
"goos" : attr .string (),
27
27
"goarch" : attr .string (),
28
28
"sdks" : attr .string_list_dict (),
29
+ "experiments" : attr .string_list (
30
+ doc = "Go experiments to enable via GOEXPERIMENT" ,
31
+ ),
29
32
"urls" : attr .string_list (default = ["https://dl.google.com/go/{}" ]),
30
33
"version" : attr .string (),
31
34
"strip_prefix" : attr .string (default = "go" ),
@@ -36,6 +39,9 @@ _host_tag = tag_class(
36
39
attrs = {
37
40
"name" : attr .string (),
38
41
"version" : attr .string (),
42
+ "experiments" : attr .string_list (
43
+ doc = "Go experiments to enable via GOEXPERIMENT" ,
44
+ ),
39
45
},
40
46
)
41
47
@@ -86,8 +92,10 @@ def _go_sdk_impl(ctx):
86
92
goos = download_tag .goos ,
87
93
goarch = download_tag .goarch ,
88
94
sdks = download_tag .sdks ,
95
+ experiments = download_tag .experiments ,
89
96
urls = download_tag .urls ,
90
97
version = download_tag .version ,
98
+ strip_prefix = download_tag .strip_prefix ,
91
99
)
92
100
93
101
if (not download_tag .goos or download_tag .goos == host_detected_goos ) and (not download_tag .goarch or download_tag .goarch == host_detected_goarch ):
@@ -117,6 +125,7 @@ def _go_sdk_impl(ctx):
117
125
go_host_sdk_rule (
118
126
name = name ,
119
127
version = host_tag .version ,
128
+ experiments = host_tag .experiments ,
120
129
)
121
130
122
131
toolchains .append (struct (
0 commit comments