Skip to content

Commit

Permalink
Move private definitions out of //bazel
Browse files Browse the repository at this point in the history
This is needed to make protobuf/bazel package minimal for other proto rules.

Keep 4 public bzl files in upb/bazel. They end up under protobuf/bazel, and they are legitimately used by other repositories.

Move upb_proto_library_internal/* under bazel/private. Those are utilities used in the rules. Moving them one level deeper makes protobuf/bazel package clean for other rules.

Move build_defs.bzl and amalgamation under /upb/bazel. Those are utilities used in the build.

Move lua.BUILD and python* uner /python/dist. Those are used in the WORKSPACE dependency setup.

PiperOrigin-RevId: 621442236
  • Loading branch information
protobuf-github-bot authored and copybara-github committed Apr 3, 2024
1 parent dc5053a commit d7f032a
Show file tree
Hide file tree
Showing 43 changed files with 142 additions and 113 deletions.
4 changes: 2 additions & 2 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ ruby_bundle(

http_archive(
name = "lua",
build_file = "//bazel:lua.BUILD",
build_file = "//python/dist:lua.BUILD",
sha256 = "b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b",
strip_prefix = "lua-5.2.4",
urls = [
Expand All @@ -160,7 +160,7 @@ http_archive(
patch_cmds = ["find google -type f -name BUILD.bazel -delete"],
)

load("//bazel:system_python.bzl", "system_python")
load("//python/dist:system_python.bzl", "system_python")

system_python(
name = "system_python",
Expand Down
46 changes: 1 addition & 45 deletions bazel/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -6,57 +6,13 @@
# https://developers.google.com/open-source/licenses/bsd

load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@bazel_skylib//lib:selects.bzl", "selects")
load("@rules_python//python:defs.bzl", "py_binary")

# begin:google_only
# package(default_applicable_licenses = ["//upb:license"])
# end:google_only

licenses(["notice"])

# begin:google_only
# selects.config_setting_group(
# name = "android_opt",
# match_all = [
# "//tools/cc_target_os:android",
# "//tools/compilation_mode:opt",
# ],
# )
# end:google_only

py_binary(
name = "amalgamate",
srcs = ["amalgamate.py"],
visibility = ["//upb:__pkg__"],
)

# py_proto_library() is private rule, only intended for internal use by upb.
# Hopefully py_proto_library() will eventually be available in rules_proto or
# another upstream package.
bzl_library(
name = "py_proto_library_bzl",
srcs = ["py_proto_library.bzl"],
deps = [
"@rules_python//python:py_info_bzl",
],
)

bzl_library(
name = "upb_proto_library_internal_bzl",
srcs = [
"upb_proto_library_internal/aspect.bzl",
"upb_proto_library_internal/cc_library_func.bzl",
"upb_proto_library_internal/copts.bzl",
"upb_proto_library_internal/rule.bzl",
],
deps = [
"@bazel_skylib//lib:paths",
"@bazel_tools//tools/cpp:toolchain_utils.bzl",
"@rules_proto//proto:defs",
],
)

bzl_library(
name = "upb_proto_library_bzl",
srcs = [
Expand All @@ -67,7 +23,7 @@ bzl_library(
],
visibility = ["//visibility:public"],
deps = [
":upb_proto_library_internal_bzl",
"//bazel/private:upb_proto_library_internal_bzl",
"@rules_proto//proto:defs",
],
)
30 changes: 30 additions & 0 deletions bazel/private/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Copyright (c) 2009-2021, Google LLC
# All rights reserved.
#
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

load("@bazel_skylib//:bzl_library.bzl", "bzl_library")

# begin:google_only
# package(default_applicable_licenses = ["//upb:license"])
# end:google_only

licenses(["notice"])

bzl_library(
name = "upb_proto_library_internal_bzl",
srcs = [
"upb_proto_library_internal/aspect.bzl",
"upb_proto_library_internal/cc_library_func.bzl",
"upb_proto_library_internal/copts.bzl",
"upb_proto_library_internal/rule.bzl",
],
visibility = ["//bazel:__pkg__"],
deps = [
"@bazel_skylib//lib:paths",
"@bazel_tools//tools/cpp:toolchain_utils.bzl",
"@rules_proto//proto:defs",
],
)
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""Implementation of the aspect that powers the upb_*_proto_library() rules."""

load("@rules_proto//proto:defs.bzl", "proto_common")
load("//bazel:upb_proto_library_internal/cc_library_func.bzl", "cc_library_func")
load("//bazel:upb_proto_library_internal/copts.bzl", "UpbProtoLibraryCoptsInfo")
load(":upb_proto_library_internal/cc_library_func.bzl", "cc_library_func")
load(":upb_proto_library_internal/copts.bzl", "UpbProtoLibraryCoptsInfo")

# begin:github_only
_is_google3 = False
Expand Down
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions bazel/upb_c_proto_library.bzl
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"""upb_c_proto_library() exposes upb's generated C API for protobuf (foo.upb.h)"""

load("//bazel:upb_minitable_proto_library.bzl", "UpbMinitableCcInfo", "upb_minitable_proto_library_aspect")
load("//bazel:upb_proto_library_internal/aspect.bzl", "upb_proto_aspect_impl")
load("//bazel:upb_proto_library_internal/cc_library_func.bzl", "upb_use_cpp_toolchain")
load("//bazel:upb_proto_library_internal/rule.bzl", "upb_proto_rule_impl")
load("//bazel/private:upb_proto_library_internal/aspect.bzl", "upb_proto_aspect_impl")
load("//bazel/private:upb_proto_library_internal/cc_library_func.bzl", "upb_use_cpp_toolchain")
load("//bazel/private:upb_proto_library_internal/rule.bzl", "upb_proto_rule_impl")

UpbWrappedCcInfo = provider(
"Provider for cc_info for protos",
Expand Down
6 changes: 3 additions & 3 deletions bazel/upb_minitable_proto_library.bzl
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""upb_minitable_proto_library() exposes upb's generated minitables (foo.upb_minitable.h)"""

load("//bazel:upb_proto_library_internal/aspect.bzl", "upb_proto_aspect_impl")
load("//bazel:upb_proto_library_internal/cc_library_func.bzl", "upb_use_cpp_toolchain")
load("//bazel:upb_proto_library_internal/rule.bzl", "upb_proto_rule_impl")
load("//bazel/private:upb_proto_library_internal/aspect.bzl", "upb_proto_aspect_impl")
load("//bazel/private:upb_proto_library_internal/cc_library_func.bzl", "upb_use_cpp_toolchain")
load("//bazel/private:upb_proto_library_internal/rule.bzl", "upb_proto_rule_impl")

UpbMinitableCcInfo = provider(
"Provider for cc_info for protos",
Expand Down
8 changes: 4 additions & 4 deletions bazel/upb_proto_library.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ load(
_upb_c_proto_library = "upb_c_proto_library",
_upb_c_proto_library_aspect = "upb_c_proto_library_aspect",
)
load(
"//bazel:upb_proto_library_internal/aspect.bzl",
_GeneratedSrcsInfo = "GeneratedSrcsInfo",
)
load(
"//bazel:upb_proto_reflection_library.bzl",
_upb_proto_reflection_library = "upb_proto_reflection_library",
)
load(
"//bazel/private:upb_proto_library_internal/aspect.bzl",
_GeneratedSrcsInfo = "GeneratedSrcsInfo",
)

# Temporary alias, see b/291827469.
upb_proto_library = _upb_c_proto_library
Expand Down
6 changes: 3 additions & 3 deletions bazel/upb_proto_reflection_library.bzl
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"""upb_c_proto_reflection_library() exposes upb reflection for protobuf (foo.upbdefs.h)"""

load("//bazel:upb_minitable_proto_library.bzl", "UpbMinitableCcInfo", "upb_minitable_proto_library_aspect")
load("//bazel:upb_proto_library_internal/aspect.bzl", "upb_proto_aspect_impl")
load("//bazel:upb_proto_library_internal/cc_library_func.bzl", "upb_use_cpp_toolchain")
load("//bazel:upb_proto_library_internal/rule.bzl", "upb_proto_rule_impl")
load("//bazel/private:upb_proto_library_internal/aspect.bzl", "upb_proto_aspect_impl")
load("//bazel/private:upb_proto_library_internal/cc_library_func.bzl", "upb_use_cpp_toolchain")
load("//bazel/private:upb_proto_library_internal/rule.bzl", "upb_proto_rule_impl")

_UpbDefsWrappedCcInfo = provider("Provider for cc_info for protos", fields = ["cc_info"])

Expand Down
10 changes: 5 additions & 5 deletions lua/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

load(
"//bazel:build_defs.bzl",
"UPB_DEFAULT_COPTS",
"UPB_DEFAULT_CPPOPTS",
)
load(
"//lua:lua_proto_library.bzl",
"lua_proto_library",
)
load(
"//upb/bazel:build_defs.bzl",
"UPB_DEFAULT_COPTS",
"UPB_DEFAULT_CPPOPTS",
)

licenses(["notice"])

Expand Down
2 changes: 1 addition & 1 deletion protobuf_deps.bzl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Load dependencies needed to compile the protobuf library as a 3rd-party consumer."""

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("//bazel:python_downloads.bzl", "python_nuget_package", "python_source_archive")
load("//python/dist:python_downloads.bzl", "python_nuget_package", "python_source_archive")

PROTOBUF_MAVEN_ARTIFACTS = [
"com.google.caliper:caliper:1.0-beta-3",
Expand Down
8 changes: 4 additions & 4 deletions protos/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

load(
"//bazel:build_defs.bzl",
"UPB_DEFAULT_CPPOPTS",
)
load(
"//protos/bazel:upb_cc_proto_library.bzl",
"upb_cc_proto_library_copts",
)
load(
"//upb/bazel:build_defs.bzl",
"UPB_DEFAULT_CPPOPTS",
)

# begin:google_only
# package(default_applicable_licenses = ["//upb:license"])
Expand Down
2 changes: 1 addition & 1 deletion protos_generator/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# https://developers.google.com/open-source/licenses/bsd

load(
"//bazel:build_defs.bzl",
"//upb/bazel:build_defs.bzl",
"UPB_DEFAULT_CPPOPTS",
)

Expand Down
8 changes: 4 additions & 4 deletions protos_generator/tests/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ load(
"@rules_cc//cc:defs.bzl",
"cc_proto_library",
)
load(
"//bazel:build_defs.bzl",
"UPB_DEFAULT_CPPOPTS",
)
load(
"//bazel:upb_proto_library.bzl",
"upb_c_proto_library",
Expand All @@ -21,6 +17,10 @@ load(
"//protos/bazel:upb_cc_proto_library.bzl",
"upb_cc_proto_library",
)
load(
"//upb/bazel:build_defs.bzl",
"UPB_DEFAULT_CPPOPTS",
)

# begin:google_only
# package(default_applicable_licenses = ["//upb:license"])
Expand Down
2 changes: 1 addition & 1 deletion python/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ load("@bazel_skylib//rules:common_settings.bzl", "bool_flag", "string_flag")

# begin:github_only
load("@rules_pkg//pkg:mappings.bzl", "pkg_files")
load("//bazel:build_defs.bzl", "UPB_DEFAULT_COPTS")
load("//python:build_targets.bzl", "build_targets")
load("//python:py_extension.bzl", "py_extension")
load("//upb/bazel:build_defs.bzl", "UPB_DEFAULT_COPTS")

build_targets(name = "python")
# end:github_only
Expand Down
14 changes: 13 additions & 1 deletion python/dist/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@bazel_skylib//lib:selects.bzl", "selects")
load("@pip_deps//:requirements.bzl", "requirement")
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
load("@rules_python//python:packaging.bzl", "py_wheel")
load("@system_python//:version.bzl", "SYSTEM_PYTHON_VERSION")
load("//:protobuf_version.bzl", "PROTOBUF_PYTHON_VERSION")
load("//bazel:py_proto_library.bzl", "py_proto_library")
load(":dist.bzl", "py_dist", "py_dist_module")
load(":py_proto_library.bzl", "py_proto_library")

licenses(["notice"])

Expand Down Expand Up @@ -451,3 +452,14 @@ py_dist(
pure_python_wheel = ":pure_python_wheel",
tags = ["manual"],
)

# py_proto_library() is private rule, only intended for internal use by upb.
# Hopefully py_proto_library() will eventually be available in rules_proto or
# another upstream package.
bzl_library(
name = "py_proto_library_bzl",
srcs = ["py_proto_library.bzl"],
deps = [
"@rules_python//python:py_info_bzl",
],
)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions upb/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load("@rules_python//python:defs.bzl", "py_binary")
load("//bazel:build_defs.bzl", "UPB_DEFAULT_COPTS")
load("//bazel:upb_proto_library_internal/copts.bzl", "upb_proto_library_copts")
load("//bazel/private:upb_proto_library_internal/copts.bzl", "upb_proto_library_copts")
load("//upb/bazel:build_defs.bzl", "UPB_DEFAULT_COPTS")

# begin:google_only
# load("//tools/build_defs/kotlin/native:rules.bzl", "kt_native_interop_hint")
Expand All @@ -17,7 +17,7 @@ load("//bazel:upb_proto_library_internal/copts.bzl", "upb_proto_library_copts")

# begin:github_only
load(
"//bazel:amalgamation.bzl",
"//upb/bazel:amalgamation.bzl",
"upb_amalgamation",
)
# end:github_only
Expand Down
2 changes: 1 addition & 1 deletion upb/base/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

load("//bazel:build_defs.bzl", "UPB_DEFAULT_COPTS")
load("//upb/bazel:build_defs.bzl", "UPB_DEFAULT_COPTS")

cc_library(
name = "base",
Expand Down
31 changes: 31 additions & 0 deletions upb/bazel/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright (c) 2009-2021, Google LLC
# All rights reserved.
#
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

load("@bazel_skylib//lib:selects.bzl", "selects")
load("@rules_python//python:defs.bzl", "py_binary")

# begin:google_only
# package(default_applicable_licenses = ["//upb:license"])
# end:google_only

licenses(["notice"])

# begin:google_only
# selects.config_setting_group(
# name = "android_opt",
# match_all = [
# "//tools/cc_target_os:android",
# "//tools/compilation_mode:opt",
# ],
# )
# end:google_only

py_binary(
name = "amalgamate",
srcs = ["amalgamate.py"],
visibility = ["//upb:__pkg__"],
)
File renamed without changes.
4 changes: 2 additions & 2 deletions bazel/amalgamation.bzl → upb/bazel/amalgamation.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

"""Internal rules for building upb."""

load(":upb_proto_library.bzl", "GeneratedSrcsInfo")
load("//bazel:upb_proto_library.bzl", "GeneratedSrcsInfo")

# upb_amalgamation() rule, with file_list aspect.

Expand Down Expand Up @@ -54,7 +54,7 @@ upb_amalgamation = rule(
"_amalgamator": attr.label(
executable = True,
cfg = "exec",
default = "//bazel:amalgamate",
default = "//upb/bazel:amalgamate",
),
"prefix": attr.string(
default = "",
Expand Down
Loading

0 comments on commit d7f032a

Please sign in to comment.