Bazel go binary: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 29: Line 29:
     visibility = ["//visibility:public"],
     visibility = ["//visibility:public"],
     x_defs = {"github.com/someorg/somemodule/version.Version": "{BUILD_VERSION}"},
     x_defs = {"github.com/someorg/somemodule/version.Version": "{BUILD_VERSION}"},
)
</syntaxhighlight>
<syntaxhighlight lang='go'>
load("//meta/rules:go.bzl", "go_library")
go_library(
    name = "somepkg",
    srcs = [
        "file1.go",
        "file2.go",
    ],
    importpath = "github.com/someorg/somemodule/pkg/somepkg",
    visibility = ["//visibility:public"], # private if this is a library that becomes part of an executable
    deps = [
        "//lib/a",
        "//lib/b",
        ...
        "@com_github_blang_semver//:semver",
    ],
)
)
</syntaxhighlight>
</syntaxhighlight>

Revision as of 21:35, 20 September 2024

Internal

Overview

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}"},
)
load("//meta/rules:go.bzl", "go_library")

go_library(
    name = "somepkg",
    srcs = [
        "file1.go",
        "file2.go",
    ],
    importpath = "github.com/someorg/somemodule/pkg/somepkg",
    visibility = ["//visibility:public"], # private if this is a library that becomes part of an executable
    deps = [
        "//lib/a",
        "//lib/b",
        ...
        "@com_github_blang_semver//:semver",
    ],
)