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