xref: /aosp_15_r20/external/bazelbuild-rules_go/tests/bcr/BUILD.bazel (revision 9bb1b549b6a84214c53be0924760be030e66b93a)
1load("@my_rules_go//extras:gomock.bzl", "gomock")
2load("@my_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
3
4go_library(
5    name = "lib",
6    srcs = ["lib.go"],
7    importpath = "example.com/lib",
8)
9
10go_binary(
11    name = "main",
12    srcs = ["main.go"],
13    deps = [":lib"],
14)
15
16go_test(
17    name = "test",
18    srcs = ["test.go"],
19    embed = [":lib"],
20)
21
22go_library(
23    name = "mockable",
24    srcs = [
25        "mockable.go",
26    ],
27    importpath = "example.com/mockable",
28)
29
30gomock(
31    name = "mocks",
32    out = "mockable_mock.go",
33    library = ":mockable",
34    package = "mockable",
35    source = "mockable.go",
36    visibility = ["//visibility:public"],
37)
38
39go_test(
40    name = "mockable_test",
41    srcs = [
42        "mockable_mock.go",
43        "mockable_test.go",
44    ],
45    embed = [":mockable"],
46    deps = ["@my_rules_go//extras/gomock"],
47)
48
49sh_test(
50    name = "go_version_test",
51    srcs = ["go_version_test.sh"],
52    data = ["@my_rules_go//go"],
53    env = {"GO_TOOL_RLOCATION": "$(rlocationpath @my_rules_go//go)"},
54    deps = ["@bazel_tools//tools/bash/runfiles"],
55)
56