diff -urN a/descriptor/BUILD.bazel b/descriptor/BUILD.bazel
--- a/descriptor/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/descriptor/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,46 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+    name = "descriptor",
+    srcs = ["descriptor.go"],
+    importpath = "github.com/golang/protobuf/descriptor",
+    visibility = ["//visibility:public"],
+    deps = [
+        "//proto",
+        "//protoc-gen-go/descriptor",
+        "@org_golang_google_protobuf//reflect/protodesc:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+    ],
+)
+
+go_library(
+    name = "go_default_library_gen",
+    srcs = ["descriptor.go"],
+    importpath = "github.com/golang/protobuf/descriptor",
+    visibility = ["//visibility:public"],
+    deps = [
+        "//proto:go_default_library",
+        "@io_bazel_rules_go//proto/wkt:descriptor_go_proto",
+        "@org_golang_google_protobuf//reflect/protodesc:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":descriptor",
+    visibility = ["//visibility:public"],
+)
+
+go_test(
+    name = "descriptor_test",
+    srcs = ["descriptor_test.go"],
+    embed = [":descriptor"],
+    deps = [
+        "//protoc-gen-go/descriptor",
+        "@com_github_google_go_cmp//cmp:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+    ],
+)
diff -urN a/internal/cmd/generate-alias/BUILD.bazel b/internal/cmd/generate-alias/BUILD.bazel
--- a/internal/cmd/generate-alias/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/internal/cmd/generate-alias/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,29 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+
+go_library(
+    name = "generate-alias_lib",
+    srcs = ["main.go"],
+    importpath = "github.com/golang/protobuf/internal/cmd/generate-alias",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//proto",
+        "@org_golang_google_protobuf//cmd/protoc-gen-go/internal_gengo:go_default_library",
+        "@org_golang_google_protobuf//compiler/protogen:go_default_library",
+        "@org_golang_google_protobuf//reflect/protodesc:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//types/descriptorpb:go_default_library",
+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
+        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
+        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
+        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
+        "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
+        "@org_golang_google_protobuf//types/pluginpb:go_default_library",
+    ],
+)
+
+go_binary(
+    name = "generate-alias",
+    embed = [":generate-alias_lib"],
+    visibility = ["//:__subpackages__"],
+)
diff -urN a/internal/gengogrpc/BUILD.bazel b/internal/gengogrpc/BUILD.bazel
--- a/internal/gengogrpc/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/internal/gengogrpc/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,18 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "gengogrpc",
+    srcs = ["grpc.go"],
+    importpath = "github.com/golang/protobuf/internal/gengogrpc",
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "@org_golang_google_protobuf//compiler/protogen:go_default_library",
+        "@org_golang_google_protobuf//types/descriptorpb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":gengogrpc",
+    visibility = ["//:__subpackages__"],
+)
diff -urN a/internal/testprotos/jsonpb_proto/BUILD.bazel b/internal/testprotos/jsonpb_proto/BUILD.bazel
--- a/internal/testprotos/jsonpb_proto/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/internal/testprotos/jsonpb_proto/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,25 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "jsonpb_proto",
+    srcs = [
+        "test2.pb.go",
+        "test3.pb.go",
+    ],
+    importpath = "github.com/golang/protobuf/internal/testprotos/jsonpb_proto",
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//proto",
+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
+        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
+        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
+        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
+        "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":jsonpb_proto",
+    visibility = ["//:__subpackages__"],
+)
diff -urN a/internal/testprotos/proto2_proto/BUILD.bazel b/internal/testprotos/proto2_proto/BUILD.bazel
--- a/internal/testprotos/proto2_proto/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/internal/testprotos/proto2_proto/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,15 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "proto2_proto",
+    srcs = ["test.pb.go"],
+    importpath = "github.com/golang/protobuf/internal/testprotos/proto2_proto",
+    visibility = ["//:__subpackages__"],
+    deps = ["//proto"],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":proto2_proto",
+    visibility = ["//:__subpackages__"],
+)
diff -urN a/internal/testprotos/proto3_proto/BUILD.bazel b/internal/testprotos/proto3_proto/BUILD.bazel
--- a/internal/testprotos/proto3_proto/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/internal/testprotos/proto3_proto/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "proto3_proto",
+    srcs = ["test.pb.go"],
+    importpath = "github.com/golang/protobuf/internal/testprotos/proto3_proto",
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//internal/testprotos/proto2_proto",
+        "//proto",
+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":proto3_proto",
+    visibility = ["//:__subpackages__"],
+)
diff -urN a/jsonpb/BUILD.bazel b/jsonpb/BUILD.bazel
--- a/jsonpb/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/jsonpb/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,50 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+    name = "jsonpb",
+    srcs = [
+        "decode.go",
+        "encode.go",
+        "json.go",
+    ],
+    importpath = "github.com/golang/protobuf/jsonpb",
+    visibility = ["//visibility:public"],
+    deps = [
+        "//proto",
+        "@org_golang_google_protobuf//encoding/protojson:go_default_library",
+        "@org_golang_google_protobuf//proto:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoregistry:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library_gen",
+    actual = ":go_default_library",
+    visibility = ["//visibility:public"],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":jsonpb",
+    visibility = ["//visibility:public"],
+)
+
+go_test(
+    name = "jsonpb_test",
+    srcs = ["json_test.go"],
+    embed = [":jsonpb"],
+    deps = [
+        "//internal/testprotos/jsonpb_proto",
+        "//internal/testprotos/proto3_proto",
+        "//proto",
+        "//protoc-gen-go/descriptor",
+        "//ptypes",
+        "//ptypes/any",
+        "//ptypes/duration",
+        "//ptypes/struct",
+        "//ptypes/timestamp",
+        "//ptypes/wrappers",
+    ],
+)
diff -urN a/proto/BUILD.bazel b/proto/BUILD.bazel
--- a/proto/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/proto/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,61 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+    name = "proto",
+    srcs = [
+        "buffer.go",
+        "defaults.go",
+        "deprecated.go",
+        "discard.go",
+        "extensions.go",
+        "properties.go",
+        "proto.go",
+        "registry.go",
+        "text_decode.go",
+        "text_encode.go",
+        "wire.go",
+        "wrappers.go",
+    ],
+    importpath = "github.com/golang/protobuf/proto",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//encoding/prototext:go_default_library",
+        "@org_golang_google_protobuf//encoding/protowire:go_default_library",
+        "@org_golang_google_protobuf//proto:go_default_library",
+        "@org_golang_google_protobuf//reflect/protodesc:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoregistry:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoiface:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":proto",
+    visibility = ["//visibility:public"],
+)
+
+go_test(
+    name = "proto_test",
+    srcs = [
+        "discard_test.go",
+        "extensions_test.go",
+        "proto_clone_test.go",
+        "proto_equal_test.go",
+        "proto_test.go",
+        "registry_test.go",
+        "text_test.go",
+    ],
+    deps = [
+        ":proto",
+        "//internal/testprotos/proto2_proto",
+        "//internal/testprotos/proto3_proto",
+        "//protoc-gen-go/descriptor",
+        "//ptypes/any",
+        "//ptypes/timestamp",
+        "@com_github_google_go_cmp//cmp:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//testing/protopack:go_default_library",
+    ],
+)
diff -urN a/protoc-gen-go/BUILD.bazel b/protoc-gen-go/BUILD.bazel
--- a/protoc-gen-go/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/protoc-gen-go/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+
+go_library(
+    name = "protoc-gen-go_lib",
+    srcs = ["main.go"],
+    importpath = "github.com/golang/protobuf/protoc-gen-go",
+    visibility = ["//visibility:private"],
+    deps = [
+        "//internal/gengogrpc",
+        "@org_golang_google_protobuf//cmd/protoc-gen-go/internal_gengo:go_default_library",
+        "@org_golang_google_protobuf//compiler/protogen:go_default_library",
+    ],
+)
+
+go_binary(
+    name = "protoc-gen-go",
+    embed = [":protoc-gen-go_lib"],
+    visibility = ["//visibility:public"],
+)
diff -urN a/protoc-gen-go/descriptor/BUILD.bazel b/protoc-gen-go/descriptor/BUILD.bazel
--- a/protoc-gen-go/descriptor/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/protoc-gen-go/descriptor/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "descriptor",
+    srcs = ["descriptor.pb.go"],
+    importpath = "github.com/golang/protobuf/protoc-gen-go/descriptor",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+        "@org_golang_google_protobuf//types/descriptorpb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":descriptor",
+    visibility = ["//visibility:public"],
+)
diff -urN a/protoc-gen-go/generator/BUILD.bazel b/protoc-gen-go/generator/BUILD.bazel
--- a/protoc-gen-go/generator/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/protoc-gen-go/generator/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,33 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "generator",
+    srcs = ["generator.go"],
+    importpath = "github.com/golang/protobuf/protoc-gen-go/generator",
+    visibility = ["//visibility:public"],
+    deps = [
+        "//proto",
+        "//protoc-gen-go/descriptor",
+        "//protoc-gen-go/generator/internal/remap",
+        "//protoc-gen-go/plugin",
+    ],
+)
+
+go_library(
+    name = "go_default_library_gen",
+    srcs = ["generator.go"],
+    importpath = "github.com/golang/protobuf/protoc-gen-go/generator",
+    visibility = ["//visibility:public"],
+    deps = [
+        "//proto:go_default_library",
+        "//protoc-gen-go/generator/internal/remap:go_default_library",
+        "@io_bazel_rules_go//proto/wkt:compiler_plugin_go_proto",
+        "@io_bazel_rules_go//proto/wkt:descriptor_go_proto",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":generator",
+    visibility = ["//visibility:public"],
+)
diff -urN a/protoc-gen-go/generator/internal/remap/BUILD.bazel b/protoc-gen-go/generator/internal/remap/BUILD.bazel
--- a/protoc-gen-go/generator/internal/remap/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/protoc-gen-go/generator/internal/remap/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,20 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+    name = "remap",
+    srcs = ["remap.go"],
+    importpath = "github.com/golang/protobuf/protoc-gen-go/generator/internal/remap",
+    visibility = ["//protoc-gen-go/generator:__subpackages__"],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":remap",
+    visibility = ["//protoc-gen-go/generator:__subpackages__"],
+)
+
+go_test(
+    name = "remap_test",
+    srcs = ["remap_test.go"],
+    embed = [":remap"],
+)
diff -urN a/protoc-gen-go/grpc/BUILD.bazel b/protoc-gen-go/grpc/BUILD.bazel
--- a/protoc-gen-go/grpc/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/protoc-gen-go/grpc/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,18 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "grpc",
+    srcs = ["grpc.go"],
+    importpath = "github.com/golang/protobuf/protoc-gen-go/grpc",
+    visibility = ["//visibility:public"],
+    deps = [
+        "//protoc-gen-go/descriptor",
+        "//protoc-gen-go/generator",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":grpc",
+    visibility = ["//visibility:public"],
+)
diff -urN a/protoc-gen-go/plugin/BUILD.bazel b/protoc-gen-go/plugin/BUILD.bazel
--- a/protoc-gen-go/plugin/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/protoc-gen-go/plugin/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "plugin",
+    srcs = ["plugin.pb.go"],
+    importpath = "github.com/golang/protobuf/protoc-gen-go/plugin",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+        "@org_golang_google_protobuf//types/pluginpb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":plugin",
+    visibility = ["//visibility:public"],
+)
diff -urN a/ptypes/any/BUILD.bazel b/ptypes/any/BUILD.bazel
--- a/ptypes/any/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/ptypes/any/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "any",
+    srcs = ["any.pb.go"],
+    importpath = "github.com/golang/protobuf/ptypes/any",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":any",
+    visibility = ["//visibility:public"],
+)
diff -urN a/ptypes/BUILD.bazel b/ptypes/BUILD.bazel
--- a/ptypes/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/ptypes/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,64 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+
+go_library(
+    name = "ptypes",
+    srcs = [
+        "any.go",
+        "doc.go",
+        "duration.go",
+        "timestamp.go",
+    ],
+    importpath = "github.com/golang/protobuf/ptypes",
+    visibility = ["//visibility:public"],
+    deps = [
+        "//proto",
+        "//ptypes/any",
+        "//ptypes/duration",
+        "//ptypes/timestamp",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoregistry:go_default_library",
+    ],
+)
+
+go_library(
+    name = "go_default_library_gen",
+    srcs = [
+        "any.go",
+        "doc.go",
+        "duration.go",
+        "timestamp.go",
+    ],
+    importpath = "github.com/golang/protobuf/ptypes",
+    visibility = ["//visibility:public"],
+    deps = [
+        "//proto:go_default_library",
+        "@io_bazel_rules_go//proto/wkt:any_go_proto",
+        "@io_bazel_rules_go//proto/wkt:duration_go_proto",
+        "@io_bazel_rules_go//proto/wkt:timestamp_go_proto",
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//reflect/protoregistry:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":ptypes",
+    visibility = ["//visibility:public"],
+)
+
+go_test(
+    name = "ptypes_test",
+    srcs = [
+        "any_test.go",
+        "duration_test.go",
+        "timestamp_test.go",
+    ],
+    embed = [":ptypes"],
+    deps = [
+        "//proto",
+        "//protoc-gen-go/descriptor",
+        "//ptypes/any",
+        "//ptypes/duration",
+        "//ptypes/timestamp",
+    ],
+)
diff -urN a/ptypes/duration/BUILD.bazel b/ptypes/duration/BUILD.bazel
--- a/ptypes/duration/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/ptypes/duration/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "duration",
+    srcs = ["duration.pb.go"],
+    importpath = "github.com/golang/protobuf/ptypes/duration",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":duration",
+    visibility = ["//visibility:public"],
+)
diff -urN a/ptypes/empty/BUILD.bazel b/ptypes/empty/BUILD.bazel
--- a/ptypes/empty/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/ptypes/empty/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "empty",
+    srcs = ["empty.pb.go"],
+    importpath = "github.com/golang/protobuf/ptypes/empty",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":empty",
+    visibility = ["//visibility:public"],
+)
diff -urN a/ptypes/struct/BUILD.bazel b/ptypes/struct/BUILD.bazel
--- a/ptypes/struct/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/ptypes/struct/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "struct",
+    srcs = ["struct.pb.go"],
+    importpath = "github.com/golang/protobuf/ptypes/struct",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":struct",
+    visibility = ["//visibility:public"],
+)
diff -urN a/ptypes/timestamp/BUILD.bazel b/ptypes/timestamp/BUILD.bazel
--- a/ptypes/timestamp/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/ptypes/timestamp/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "timestamp",
+    srcs = ["timestamp.pb.go"],
+    importpath = "github.com/golang/protobuf/ptypes/timestamp",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":timestamp",
+    visibility = ["//visibility:public"],
+)
diff -urN a/ptypes/wrappers/BUILD.bazel b/ptypes/wrappers/BUILD.bazel
--- a/ptypes/wrappers/BUILD.bazel	1970-01-01 00:00:00.000000000 +0000
+++ b/ptypes/wrappers/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -0,0 +1,19 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "wrappers",
+    srcs = ["wrappers.pb.go"],
+    importpath = "github.com/golang/protobuf/ptypes/wrappers",
+    visibility = ["//visibility:public"],
+    deps = [
+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
+        "@org_golang_google_protobuf//types/known/wrapperspb:go_default_library",
+    ],
+)
+
+alias(
+    name = "go_default_library",
+    actual = ":wrappers",
+    visibility = ["//visibility:public"],
+)
