1
0
Fork 0
hscloud/third_party/go
q3k 94d96497b5 hswaw/site: implement recurring events
Change-Id: Ib3c570d058141c4d8441801010f0f1755ccfc0e7
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1624
Reviewed-by: radex <radex@hackerspace.pl>
2023-09-22 22:50:39 +00:00
..
BUILD WORKSPACE: cleanup 2020-06-25 19:54:25 +02:00
README.md go: re-do the entire thing 2023-09-22 21:50:19 +00:00
com_github_cloudflare_circl.patch go: re-do the entire thing 2023-09-22 21:50:19 +00:00
io_k8s_kubernetes.patch go: re-do the entire thing 2023-09-22 21:50:19 +00:00
kubernetes_version_def.bzl go: re-do the entire thing 2023-09-22 21:50:19 +00:00
repositories.bzl hswaw/site: implement recurring events 2023-09-22 22:50:39 +00:00

README.md

Go dependency managment

Status: managed by Gazelle.

.--------.
| go.mod |------------.
'--------'            |
    | go mod tidy     | bazel //:gazelle-update-repos
    V                 |
.--------.            |
| go.sum |-----------.|
'--------'            |
                      V
.---------------------------------.
| third_party/go/repositories.bzl |
'---------------------------------'
                      | bazel run //:gazelle
                      V
               .----------------.
               | **/BUILD.bazel |.
               '----------------'|
                '----------------'
                      | bazel build //...
                      V
               .-----------------.
               | build artifacts |
               '-----------------'

Updating and adding new dependencies

Add a Go dependency to your code, then:

$ bazel run @io_bazel_rules_go//go -- mod tidy
$ bazel run //:gazelle-update-repos

All generated sources (eg. protobuf stubs) that are usually built by Bazel are invisible to go(mod)-based tooling. To get around this, we place gomod-generated-placeholder.go files in package directories that would otherwise contain generated files. These are ignored by Gazelle (and thus by Bazel builds) but not by go(mod)-based tooling.

Adding a tool dependency

If you want some go-based tool to be built (which isn't depended upon by existing Go code) you'll have to add a synthetic import to //third_party/go/tools.go. Then run go mod tidy and gazelle-update-repos.

Regenerating BUILDfiles

To traverse the monorepo and generate BUILD(.bazel) files for all Go code:

$ bazel run //:gazelle