Bazel go binary: Difference between revisions
Jump to navigation
Jump to search
Line 5: | Line 5: | ||
=Example= | =Example= | ||
<syntaxhighlight lang='go'> | |||
</syntaxhighlight> | |||
=A More Complex Example= | |||
<syntaxhighlight lang='go'> | <syntaxhighlight lang='go'> | ||
load("//meta/rules:go.bzl", "go_library", "go_binary") | load("//meta/rules:go.bzl", "go_library", "go_binary") | ||
Line 32: | Line 37: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Note: the dependencies can be autogenerated with Gazelle. | Note: the dependencies can be autogenerated with Gazelle. |
Revision as of 21:44, 20 September 2024
Internal
Overview
Example
A More Complex Example
load("//meta/rules:go.bzl", "go_library", "go_binary")
go_library(
name = "somepkg_lib",
srcs = [
"file1.go",
"file2.go",
],
importpath = "github.com/someorg/somemodule/pkg/somepkg",
visibility = ["//visibility:private"],
deps = [
"//lib/a",
"//lib/b",
...
"@com_github_blang_semver//:semver",
],
)
go_binary(
name = "somebin",
embed = [":somepkg_lib"],
visibility = ["//visibility:public"],
x_defs = {"github.com/someorg/somemodule/version.Version": "{BUILD_VERSION}"},
)
Note: the dependencies can be autogenerated with Gazelle.