Bazel go library
Jump to navigation
Jump to search
External
Internal
Overview
This builds a Go library from a set of source files that are all part of the same package.
Example
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",
],
)
Attributes
name
Required, a unique name for this target.
srcs
Optional. The list of Go source files that are compiled to create the package. Only .go
and .s
files are permitted, unless the cgo
attribute is set.
deps
Optional. List of Go libraries this package imports directly. These may be go_library rules or compatible rules with the GoLibrary provider.
importpath
The source import path of this library. Other libraries can import this library using this path. This must either be specified in go_library
or inherited from one of the libraries in embed
.