fietsje: implement .replace, add Cilium dependencies.
The new .replace() can be used to mirror 'replace' stanzas in go.mod,
and that's what it's being used for in Cilium, as it ships a handful of
forked libraries that we have to pull in.
The Cilium targets are currently unused, but the ones confirmed to build
are:
- @com_github_cilium_cilium//cilium: cilium API client
- @com_github_cilium_cilium//daemon:daemon: cilium daemon/agent
- @com_github_cilium_cilium//operator: cilium operator
These currently built as dynamic libraries - turning them into
static/pure builds will come in a later build.
Test Plan: how do we test this? :)
X-Origin-Diff: phab/D542
GitOrigin-RevId: b38c7c1d0be8b0b88ea8f6992c9c5557189399cc
diff --git a/build/fietsje/render.go b/build/fietsje/render.go
index d06e530..bc5d732 100644
--- a/build/fietsje/render.go
+++ b/build/fietsje/render.go
@@ -47,9 +47,15 @@
fmt.Fprintf(w, " importpath = %q,\n", d.importpath)
fmt.Fprintf(w, " version = %q,\n", d.locked.semver)
fmt.Fprintf(w, " sum = %q,\n", d.locked.sum)
+ if d.replace != "" {
+ fmt.Fprintf(w, " replace = %q,\n", d.replace)
+ }
if d.disableProtoBuild {
fmt.Fprintf(w, " build_file_proto_mode = %q,\n", "disable")
}
+ if d.forceBazelGeneration {
+ fmt.Fprintf(w, " build_file_generation = %q,\n", "on")
+ }
if d.buildTags != nil {
fmt.Fprintf(w, " build_tags = [\n")
for _, tag := range d.buildTags {
@@ -65,6 +71,13 @@
fmt.Fprintf(w, " ],\n")
fmt.Fprintf(w, " patch_args = [%q],\n", "-p1")
}
+ if d.buildExtraArgs != nil {
+ fmt.Fprintf(w, " build_extra_args = [\n")
+ for _, arg := range d.buildExtraArgs {
+ fmt.Fprintf(w, " %q,\n", arg)
+ }
+ fmt.Fprintf(w, " ],\n")
+ }
fmt.Fprintf(w, " )\n")
}