mirror of
https://github.com/protocolbuffers/protobuf
synced 2026-08-26 02:23:14 -04:00
Add Bazel9 test
#test-continuous PiperOrigin-RevId: 908263056
This commit is contained in:
parent
5be0a43cd6
commit
90ad7e9788
20 changed files with 123 additions and 344 deletions
|
|
@ -1 +1 @@
|
|||
USE_BAZEL_VERSION=8.0.1
|
||||
USE_BAZEL_VERSION=8.6.0
|
||||
|
|
|
|||
10
.bazelrc
10
.bazelrc
|
|
@ -3,6 +3,11 @@ build --cxxopt=-std=c++17 --host_cxxopt=-std=c++17
|
|||
# TODO: ErrorProne's SelfAssertions are violated in protobuf's test
|
||||
build --javacopt=-Xep:SelfAssertion:WARN
|
||||
|
||||
# Disable prebuilt protoc on CI. On both main and release branches,
|
||||
# PROTOBUF_VERSION ordinarily points to the next release, which doesn't
|
||||
# exist and therefore doesn't have a prebuilt yet.
|
||||
#build --@com_google_protobuf//bazel/toolchains:prefer_prebuilt_protoc=false
|
||||
|
||||
# This flag works around some issues with Rust linking.
|
||||
build --@rules_rust//rust/settings:experimental_use_cc_common_link=True
|
||||
|
||||
|
|
@ -39,5 +44,10 @@ common --enable_platform_specific_config
|
|||
|
||||
common --incompatible_check_testonly_for_output_files
|
||||
|
||||
# Import Bazel 9 specific flags (such as --repo_contents_cache)
|
||||
# TODO: Remove it when --repo_contents_cache issue
|
||||
# has been resolved in bazel
|
||||
try-import-if-bazel-version >=9.0.0 %workspace%/ci/bazel9.bazelrc
|
||||
|
||||
# Use clang-cl by default on Windows (see https://github.com/protocolbuffers/protobuf/issues/20085).
|
||||
build:windows --extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl --extra_execution_platforms=//build_defs:x64_windows-clang-cl --host_platform=//build_defs:x64_windows-clang-cl
|
||||
|
|
|
|||
11
.github/workflows/test_bazel.yml
vendored
11
.github/workflows/test_bazel.yml
vendored
|
|
@ -27,7 +27,7 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
runner: [ ubuntu, windows, macos ]
|
||||
bazelversion: [ '8.0.0' ]
|
||||
bazelversion: [ '8.6.0', '9.0.0' ]
|
||||
bzlmod: [ true, false ]
|
||||
toolchain_resolution:
|
||||
# Default flags, uses from prebuilt protoc
|
||||
|
|
@ -36,6 +36,9 @@ jobs:
|
|||
- "--incompatible_enable_proto_toolchain_resolution=false"
|
||||
# Uses protoc from source.
|
||||
- "--@com_google_protobuf//bazel/flags:prefer_prebuilt_protoc=false"
|
||||
exclude:
|
||||
- bazelversion: '9.0.0'
|
||||
bzlmod: false
|
||||
runs-on: ${{ matrix.runner }}-latest
|
||||
name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} Examples ${{ matrix.runner }} ${{ matrix.bazelversion }}${{ matrix.bzlmod && ' (bzlmod)' || '' }} ${{ matrix.toolchain_resolution && ' (toolchain resolution)' || '' }}
|
||||
steps:
|
||||
|
|
@ -84,7 +87,7 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
runner: [ ubuntu, windows, macos ]
|
||||
bazelversion: [ '8.0.0' ]
|
||||
bazelversion: [ '8.6.0', '9.0.0' ]
|
||||
bzlmod: [ true ]
|
||||
toolchain_resolution:
|
||||
# Default flags, uses from prebuilt protoc
|
||||
|
|
@ -122,7 +125,7 @@ jobs:
|
|||
- name: Run tests
|
||||
uses: protocolbuffers/protobuf-ci/bazel-docker@v5
|
||||
with:
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:8.0.1-d415763a389bb62a6f126b08c992e83f9f7dc1b4
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:9.0.0-7932bf8b25fb76a111e7257d151a6a58d5c3c671
|
||||
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
|
||||
bazel-cache: "bazel-tests"
|
||||
bazel: test //bazel/...
|
||||
|
|
@ -145,4 +148,4 @@ jobs:
|
|||
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
|
||||
bazel-cache: "bazel-tests-${{ matrix.runner }}"
|
||||
bazel: test //bazel/...
|
||||
version: 8.0.1
|
||||
version: 8.6.0
|
||||
|
|
|
|||
4
.github/workflows/test_cpp.yml
vendored
4
.github/workflows/test_cpp.yml
vendored
|
|
@ -44,6 +44,10 @@ jobs:
|
|||
cache_key: Bazel8
|
||||
image: "us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:8.0.1-d415763a389bb62a6f126b08c992e83f9f7dc1b4"
|
||||
targets: "//src/... //third_party/utf8_range/..."
|
||||
- config: { name: "Bazel9", flags: "--cxxopt=-Wno-self-assign-overloaded" }
|
||||
cache_key: Bazel9
|
||||
image: "us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:9.0.0-7932bf8b25fb76a111e7257d151a6a58d5c3c671"
|
||||
targets: "//src/... //third_party/utf8_range/..."
|
||||
- config: { name: "TCMalloc" }
|
||||
cache_key: TcMalloc
|
||||
image: "us-docker.pkg.dev/protobuf-build/containers/test/linux/tcmalloc:8.0.1-d415763a389bb62a6f126b08c992e83f9f7dc1b4"
|
||||
|
|
|
|||
14
.github/workflows/test_java.yml
vendored
14
.github/workflows/test_java.yml
vendored
|
|
@ -30,23 +30,27 @@ jobs:
|
|||
include:
|
||||
- name: OpenJDK 8
|
||||
cache_key: '8'
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8.0.1-8-b77fdae6d4771789dfc66a56bf8d806354e8011a
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:9.0.0-11-1c31a2985011c75c33dcdf646fc86898aac1ec5d
|
||||
# TODO: b/318555165 - enable the layering check. Currently it does
|
||||
# not work correctly with the toolchain in this Docker image.
|
||||
targets: //java/... //java/internal:java_version --features=-layering_check
|
||||
flags: --java_language_version=8
|
||||
- name: OpenJDK 11
|
||||
cache_key: '11'
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8.0.1-11-b77fdae6d4771789dfc66a56bf8d806354e8011a
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:9.0.0-11-1c31a2985011c75c33dcdf646fc86898aac1ec5d
|
||||
targets: //java/... //java/internal:java_version //compatibility/...
|
||||
continuous-only: true
|
||||
- name: OpenJDK 17
|
||||
cache_key: '17'
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8.0.1-17-168f9c9d015a0fa16611e1e9eede796fe9bfbb69
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:9.0.0-17-1c31a2985011c75c33dcdf646fc86898aac1ec5d
|
||||
targets: //java/... //java/internal:java_version //compatibility/...
|
||||
- name: OpenJDK 21 bazel 8
|
||||
cache_key: 'bazel8'
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8.6.0-21-856ad422dddd3b8fbd85e36129496b37bba174ef
|
||||
targets: //java/... //java/internal:java_version //compatibility/...
|
||||
- name: OpenJDK 21
|
||||
cache_key: '21'
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8.0.1-21-7932bf8b25fb76a111e7257d151a6a58d5c3c671
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:9.0.0-21-1c31a2985011c75c33dcdf646fc86898aac1ec5d
|
||||
targets: //java/... //java/internal:java_version //compatibility/...
|
||||
# TODO: b/395623141 - restore this test once runtime uses / emulates aarch64.
|
||||
# - name: aarch64
|
||||
|
|
@ -101,7 +105,7 @@ jobs:
|
|||
- name: Generate maven artifacts with bazel and install using maven
|
||||
uses: protocolbuffers/protobuf-ci/bazel-docker@v5
|
||||
with:
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:8.0.1-11-b77fdae6d4771789dfc66a56bf8d806354e8011a
|
||||
image: us-docker.pkg.dev/protobuf-build/containers/test/linux/java:9.0.0-11-1c31a2985011c75c33dcdf646fc86898aac1ec5d
|
||||
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
|
||||
bazel-cache: java_linux/11
|
||||
bash: |
|
||||
|
|
|
|||
31
.github/workflows/test_ruby.yml
vendored
31
.github/workflows/test_ruby.yml
vendored
|
|
@ -35,12 +35,14 @@ jobs:
|
|||
- { name: Ruby 3.2, ruby: ruby-3.2.6, continuous-only: true }
|
||||
- { name: Ruby 3.3, ruby: ruby-3.3.6, continuous-only: true }
|
||||
- { name: Ruby 3.4, ruby: ruby-3.4.1, continuous-only: true }
|
||||
# TODO: Remove the image property in the two entries below and update the configuration
|
||||
# used by all the images the next time there is an update to the Dockerfile
|
||||
- { name: Ruby 4.0, ruby: ruby-4.0.0, ffi: NATIVE, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.0.1-ruby-4.0.0-f1c24ed6acfbf6ec709b0de2f702209c9d3ac659' }
|
||||
- { name: Ruby 4.0, ruby: ruby-4.0.0, ffi: FFI, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.0.1-ruby-4.0.0-f1c24ed6acfbf6ec709b0de2f702209c9d3ac659' }
|
||||
- { name: Ruby 4.0, ruby: ruby-4.0.0, ffi: NATIVE }
|
||||
- { name: Ruby 4.0, ruby: ruby-4.0.0, ffi: FFI }
|
||||
- { name: Ruby 4.0 bazel 8, ruby: ruby-4.0.0, ffi: NATIVE, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.6.0-ruby-4.0.0-856ad422dddd3b8fbd85e36129496b37bba174ef' }
|
||||
- { name: Ruby 4.0 bazel 8, ruby: ruby-4.4.4, ffi: FFI, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.6.0-ruby-4.0.0-856ad422dddd3b8fbd85e36129496b37bba174ef' }
|
||||
- { name: JRuby 9.4, ruby: jruby-9.4.9.0, ffi: NATIVE }
|
||||
- { name: JRuby 9.4, ruby: jruby-9.4.9.0, ffi: FFI }
|
||||
- { name: JRuby 9.4 bazel 8, ruby: jruby-9.4.9.0, ffi: NATIVE, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.6.0-jruby-9.4.9.0-856ad422dddd3b8fbd85e36129496b37bba174ef' }
|
||||
- { name: JRuby 9.4 bazel 8, ruby: jruby-9.4.9.0, ffi: FFI, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.6.0-jruby-9.4.9.0-856ad422dddd3b8fbd85e36129496b37bba174ef' }
|
||||
|
||||
name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} Linux ${{ matrix.name }} ${{ matrix.ffi == 'FFI' && ' FFI' || '' }}
|
||||
runs-on: ubuntu-latest
|
||||
|
|
@ -54,7 +56,7 @@ jobs:
|
|||
if: ${{ !matrix.continuous-only || inputs.continuous-run }}
|
||||
uses: protocolbuffers/protobuf-ci/bazel-docker@v5
|
||||
with:
|
||||
image: ${{ matrix.image || format('us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.0.1-{0}-b77fdae6d4771789dfc66a56bf8d806354e8011a', matrix.ruby) }}
|
||||
image: ${{ matrix.image || format('us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:9.0.0-{0}-9fc33a0c378b5affd3c85d3f5ae4f330993048f7', matrix.ruby) }}
|
||||
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
|
||||
bazel-cache: ruby_linux/${{ matrix.ruby }}
|
||||
bazel: test //ruby/... //ruby/tests:ruby_version --test_env=KOKORO_RUBY_VERSION --test_env=BAZEL=true ${{ matrix.ffi == 'FFI' && '--//ruby:ffi=enabled --test_env=PROTOCOL_BUFFERS_RUBY_IMPLEMENTATION=FFI' || '' }}
|
||||
|
|
@ -172,7 +174,7 @@ jobs:
|
|||
if: ${{ !matrix.continuous-only || inputs.continuous-run }}
|
||||
uses: protocolbuffers/protobuf-ci/bazel@v5
|
||||
with:
|
||||
version: 8.0.1 # Bazel version
|
||||
version: 9.0.0 # Bazel version
|
||||
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
|
||||
bazel-cache: ruby_macos/${{ matrix.version }}
|
||||
bazel: test //ruby/... --test_env=KOKORO_RUBY_VERSION=${{ matrix.version }} --test_env=BAZEL=true ${{ matrix.ffi == 'FFI' && '--//ruby:ffi=enabled --test_env=PROTOCOL_BUFFERS_RUBY_IMPLEMENTATION=FFI' || '' }}
|
||||
|
|
@ -187,13 +189,17 @@ jobs:
|
|||
# Ruby versions for CRuby and JRuby.
|
||||
- { name: Ruby 3.1, ruby: ruby-3.1.6, ffi: NATIVE }
|
||||
- { name: Ruby 3.1, ruby: ruby-3.1.6, ffi: FFI }
|
||||
- { name: Ruby 3.2, ruby: ruby-3.2.6, continuous-only: true}
|
||||
- { name: Ruby 3.3, ruby: ruby-3.3.6, continuous-only: true}
|
||||
- { name: Ruby 3.2, ruby: ruby-3.2.6, continuous-only: true }
|
||||
- { name: Ruby 3.3, ruby: ruby-3.3.6, continuous-only: true }
|
||||
- { name: Ruby 3.4, ruby: ruby-3.4.1, continuous-only: true }
|
||||
- { name: Ruby 4.0, ruby: ruby-4.0.0, ffi: NATIVE, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.0.1-ruby-4.0.0-f1c24ed6acfbf6ec709b0de2f702209c9d3ac659' }
|
||||
- { name: Ruby 4.0, ruby: ruby-4.0.0, ffi: FFI, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.0.1-ruby-4.0.0-f1c24ed6acfbf6ec709b0de2f702209c9d3ac659' }
|
||||
- { name: Ruby 4.0, ruby: ruby-4.0.0, ffi: NATIVE }
|
||||
- { name: Ruby 4.0, ruby: ruby-4.0.0, ffi: FFI }
|
||||
- { name: Ruby 4.0 bazel 8, ruby: ruby-4.0.0, ffi: NATIVE, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.6.0-ruby-4.0.0-856ad422dddd3b8fbd85e36129496b37bba174ef' }
|
||||
- { name: Ruby 4.0 bazel 8, ruby: ruby-4.4.4, ffi: FFI, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.6.0-ruby-4.0.0-856ad422dddd3b8fbd85e36129496b37bba174ef' }
|
||||
- { name: JRuby 9.4, ruby: jruby-9.4.9.0, ffi: NATIVE }
|
||||
- { name: JRuby 9.4, ruby: jruby-9.4.9.0, ffi: FFI, continuous-only: true }
|
||||
- { name: JRuby 9.4 bazel 8, ruby: jruby-9.4.9.0, ffi: NATIVE, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.6.0-jruby-9.4.9.0-856ad422dddd3b8fbd85e36129496b37bba174ef' }
|
||||
- { name: JRuby 9.4 bazel 8, ruby: jruby-9.4.9.0, ffi: FFI, image: 'us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.6.0-jruby-9.4.9.0-856ad422dddd3b8fbd85e36129496b37bba174ef' }
|
||||
name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} Install ${{ matrix.name }}${{ matrix.ffi == 'FFI' && ' FFI' || '' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
|
@ -206,14 +212,15 @@ jobs:
|
|||
if: ${{ !matrix.continuous-only || inputs.continuous-run }}
|
||||
uses: protocolbuffers/protobuf-ci/bazel-docker@v5
|
||||
with:
|
||||
image: ${{ matrix.image || format('us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:8.0.1-{0}-b77fdae6d4771789dfc66a56bf8d806354e8011a', matrix.ruby) }}
|
||||
image: ${{ matrix.image || format('us-docker.pkg.dev/protobuf-build/containers/test/linux/ruby:9.0.0-{0}-9fc33a0c378b5affd3c85d3f5ae4f330993048f7', matrix.ruby) }}
|
||||
credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
|
||||
bazel-cache: ruby_install/${{ matrix.ruby }}_${{ matrix.bazel }}
|
||||
bash: >
|
||||
bazel --version;
|
||||
ruby --version;
|
||||
./regenerate_stale_files.sh $BAZEL_FLAGS;
|
||||
bazel build //ruby:release //:protoc ${{ matrix.ffi == 'FFI' && '--//ruby:ffi=enabled' || '' }} $BAZEL_FLAGS;
|
||||
# TODO: Add --action_env=PATH to release builds before upgrade them to Bazel 9
|
||||
bazel build //ruby:release //:protoc ${{ matrix.ffi == 'FFI' && '--//ruby:ffi=enabled' || '' }} --action_env=PATH $BAZEL_FLAGS;
|
||||
gem install bazel-bin/ruby/google-protobuf-*;
|
||||
bazel-bin/protoc --proto_path=src --proto_path=ruby/tests --proto_path=ruby --ruby_out=ruby tests/test_import_proto2.proto;
|
||||
bazel-bin/protoc --proto_path=src --proto_path=ruby/tests --proto_path=ruby --ruby_out=ruby tests/basic_test.proto;
|
||||
|
|
|
|||
19
MODULE.bazel
19
MODULE.bazel
|
|
@ -14,7 +14,7 @@ module(
|
|||
# https://bazel.build/versions/6.0.0/build/bzlmod#version-resolution
|
||||
# Thus the highest version in their module graph is resolved.
|
||||
|
||||
bazel_dep(name = "apple_support", version = "1.16.0", repo_name = "build_bazel_apple_support")
|
||||
bazel_dep(name = "apple_support", version = "2.3.0", repo_name = "build_bazel_apple_support")
|
||||
|
||||
# Unused but must be pinned to avoid old broken versions
|
||||
bazel_dep(name = "rules_proto", version = "7.1.0")
|
||||
|
|
@ -33,14 +33,14 @@ bazel_dep(name = "zlib", version = "1.3.1.bcr.5")
|
|||
# other dependencies
|
||||
bazel_dep(name = "bazel_features", version = "1.33.0", repo_name = "proto_bazel_features")
|
||||
bazel_dep(name = "bazel_skylib", version = "1.9.0")
|
||||
bazel_dep(name = "jsoncpp", version = "1.9.6.bcr.1")
|
||||
bazel_dep(name = "jsoncpp", version = "1.9.6.bcr.2")
|
||||
bazel_dep(name = "rules_java", version = "8.6.1")
|
||||
bazel_dep(name = "rules_jvm_external", version = "6.7")
|
||||
bazel_dep(name = "rules_kotlin", version = "2.2.2")
|
||||
bazel_dep(name = "rules_kotlin", version = "2.3.20")
|
||||
bazel_dep(name = "rules_license", version = "1.0.0")
|
||||
bazel_dep(name = "rules_pkg", version = "1.0.1")
|
||||
bazel_dep(name = "rules_python", version = "1.6.0")
|
||||
bazel_dep(name = "rules_rust", version = "0.63.0")
|
||||
bazel_dep(name = "rules_rust", version = "0.69.0")
|
||||
|
||||
bazel_dep(name = "rules_ruby", version = "0.20.1", dev_dependency = True)
|
||||
|
||||
|
|
@ -307,17 +307,16 @@ archive_override(
|
|||
urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v25.0/protobuf-25.0.tar.gz"],
|
||||
)
|
||||
|
||||
bazel_dep(name = "com_google_protobuf_previous_release", version = "29.0", dev_dependency = True)
|
||||
bazel_dep(name = "com_google_protobuf_previous_release", version = "33.0", dev_dependency = True)
|
||||
archive_override(
|
||||
module_name = "com_google_protobuf_previous_release",
|
||||
integrity = "sha256-EKDVjzmhqQnpXgDougtbHcZNApl/dBFRlTorNln254w=",
|
||||
integrity = "sha256-y8U2BkcGtijc/lB77zhu8+IhTVY2V2EilvF4GqFV7gc=",
|
||||
patch_strip = 1,
|
||||
patches = [
|
||||
"@com_google_protobuf//:patches/protobuf_v29/0001-Update-module-name.patch",
|
||||
"@com_google_protobuf//:patches/protobuf_v29/0002-bazel9.patch",
|
||||
"@com_google_protobuf//:patches/protobuf_v33/0001-Update-module-name.patch",
|
||||
],
|
||||
strip_prefix = "protobuf-29.0",
|
||||
urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v29.0/protobuf-29.0.tar.gz"],
|
||||
strip_prefix = "protobuf-33.0",
|
||||
urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v33.0/protobuf-33.0.tar.gz"],
|
||||
)
|
||||
|
||||
# Register C++ toolchains for cross-compilation. These are used for compiling release binaries of
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ def cc_toolchain_test_suite(name):
|
|||
name = name,
|
||||
tests = [
|
||||
_test_cc_toolchain_uses_protoc_minimal_when_prefer_prebuilt_flag_unset,
|
||||
_test_cc_toolchain_uses_full_protoc_by_default,
|
||||
_test_cc_toolchain_uses_prebuilt_protoc_when_prefer_prebuilt_flag_set,
|
||||
],
|
||||
)
|
||||
|
||||
|
|
@ -51,7 +51,7 @@ def _test_cc_toolchain_uses_protoc_minimal_when_prefer_prebuilt_flag_unset_impl(
|
|||
# so the cc_toolchain should use protoc_minimal.
|
||||
action.argv().contains_predicate(matching.str_matches("*protoc_minimal*"))
|
||||
|
||||
def _test_cc_toolchain_uses_full_protoc_by_default(name):
|
||||
def _test_cc_toolchain_uses_prebuilt_protoc_when_prefer_prebuilt_flag_set(name):
|
||||
util.helper_target(
|
||||
proto_library,
|
||||
name = name + "_proto",
|
||||
|
|
@ -67,15 +67,14 @@ def _test_cc_toolchain_uses_full_protoc_by_default(name):
|
|||
analysis_test(
|
||||
name = name,
|
||||
target = name + "_compile",
|
||||
impl = _test_cc_toolchain_uses_full_protoc_by_default_impl,
|
||||
impl = _test_cc_toolchain_uses_prebuilt_protoc_when_prefer_prebuilt_flag_set_impl,
|
||||
config_settings = {_PREFER_PREBUILT_PROTOC: True},
|
||||
)
|
||||
|
||||
def _test_cc_toolchain_uses_full_protoc_by_default_impl(env, target):
|
||||
def _test_cc_toolchain_uses_prebuilt_protoc_when_prefer_prebuilt_flag_set_impl(env, target):
|
||||
# Find the compile action
|
||||
action = env.expect.that_target(target).action_named("GenProto")
|
||||
|
||||
# By default (prefer_prebuilt_protoc is True), protoc_minimal_do_not_use is None,
|
||||
# so the cc_toolchain should use the full protoc (not protoc_minimal).
|
||||
# The protoc path should end with "/protoc" not contain "protoc_minimal"
|
||||
action.argv().contains_predicate(matching.str_matches("*/protoc"))
|
||||
# When prefer_prebuilt_protoc is True, protoc_minimal_do_not_use is not set,
|
||||
# so the cc_toolchain should use prebuilt protoc instead of protoc_minimal.
|
||||
action.argv().not_contains_predicate(matching.str_matches("*protoc_minimal*"))
|
||||
|
|
|
|||
|
|
@ -9,3 +9,5 @@ build --extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl
|
|||
build:clang-cl --extra_execution_platforms=//build_defs:x64_windows-clang-cl --host_platform=//build_defs:x64_windows-clang-cl
|
||||
build:msvc-cl --extra_execution_platforms=//build_defs:x64_windows-msvc-cl --host_platform=//build_defs:x64_windows-msvc-cl
|
||||
build --config=clang-cl
|
||||
# Set BAZEL_SH, this is needed for bazel 8.6.0 WORKSPACE on windows
|
||||
build --action_env=BAZEL_SH="C:/Program Files/Git/bin/bash.exe"
|
||||
|
|
|
|||
|
|
@ -1 +1,3 @@
|
|||
build --incompatible_exclude_starlark_flags_from_exec_config
|
||||
# TODO: Remove --repo_contents_cache
|
||||
common --repo_contents_cache=
|
||||
|
|
|
|||
|
|
@ -49,10 +49,11 @@ build --incompatible_dont_use_javasourceinfoprovider
|
|||
build --incompatible_enable_android_toolchain_resolution
|
||||
build --incompatible_enable_apple_toolchain_resolution
|
||||
build --incompatible_exclusive_test_sandboxed
|
||||
build --incompatible_remote_use_new_exit_code_for_lost_inputs
|
||||
build --incompatible_sandbox_hermetic_tmp
|
||||
build --incompatible_top_level_aspects_require_providers
|
||||
build --incompatible_use_cc_configure_from_rules_cc
|
||||
# Disable prebuilt protoc which doesn't work for tests at HEAD which do not
|
||||
# have a published protoc prebuilt release
|
||||
build --@com_google_protobuf//bazel/toolchains:prefer_prebuilt_protoc=false
|
||||
try-import-if-bazel-version >=9.0.0 %workspace%/ci/bazel9.bazelrc
|
||||
|
||||
# We cannot yet build successfully with the following flags:
|
||||
|
|
@ -69,6 +70,8 @@ try-import-if-bazel-version >=9.0.0 %workspace%/ci/bazel9.bazelrc
|
|||
# --incompatible_disable_objc_library_transition
|
||||
# --incompatible_fail_on_unknown_attributes
|
||||
# --incompatible_merge_fixed_and_default_shell_env
|
||||
# --incompatible_remote_use_new_exit_code_for_lost_inputs
|
||||
# --incompatible_sandbox_hermetic_tmp
|
||||
|
||||
# For easier debugging of build failures.
|
||||
common --announce_rc
|
||||
|
|
|
|||
|
|
@ -3,7 +3,15 @@ common --enable_platform_specific_config
|
|||
build:linux --cxxopt=-std=c++17 --host_cxxopt=-std=c++17
|
||||
build:macos --cxxopt=-std=c++17 --host_cxxopt=-std=c++17
|
||||
|
||||
# Disable prebuilt protoc which doesn't work for tests at HEAD which do not
|
||||
# have a published protoc prebuilt release
|
||||
build --@com_google_protobuf//bazel/toolchains:prefer_prebuilt_protoc=false
|
||||
|
||||
common:windows --cxxopt=/std:c++17 --host_cxxopt=/std:c++17 --enable_runfiles
|
||||
|
||||
build --experimental_remote_cache_eviction_retries=5
|
||||
build --remote_download_outputs=all
|
||||
|
||||
# Import Bazel 9 specific flags (such as --repo_contents_cache)
|
||||
# TODO: Remove it when --repo_contents_cache issue has been resolved in bazel
|
||||
try-import-if-bazel-version >=9.0.0 %workspace%/../ci/bazel9.bazelrc
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
workspace(name = "com_google_protobuf_examples")
|
||||
|
||||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
# load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
# This protobuf repository is required for proto_library rule.
|
||||
# It provides the protocol compiler binary (i.e., protoc).
|
||||
|
|
@ -57,6 +57,11 @@ load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
|
|||
|
||||
rules_jvm_external_setup()
|
||||
|
||||
# For bazel 8.6.0 WORKSPACE on windows
|
||||
load("@rules_shell//shell:repositories.bzl", "rules_shell_toolchains")
|
||||
|
||||
rules_shell_toolchains()
|
||||
|
||||
load("@rules_jvm_external//:defs.bzl", "maven_install")
|
||||
|
||||
maven_install(
|
||||
|
|
|
|||
|
|
@ -4,3 +4,7 @@ common --host_per_file_copt=external/.*protobuf.*/src/google/protobuf/compiler/m
|
|||
# But, users should be able to use pre-built protoc toolchains instead.
|
||||
common --incompatible_enable_proto_toolchain_resolution
|
||||
common --@com_google_protobuf//bazel/toolchains:prefer_prebuilt_protoc
|
||||
|
||||
# Import Bazel 9 specific flags (such as --repo_contents_cache)
|
||||
# TODO: Remove it when --repo_contents_cache issue has been resolved in bazel
|
||||
try-import-if-bazel-version >=9.0.0 %workspace%/../../ci/bazel9.bazelrc
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
|
||||
"__INPUT_ARTIFACTS_HASH": 771645571,
|
||||
"__INPUT_ARTIFACTS_HASH": 1681618567,
|
||||
"__RESOLVED_ARTIFACTS_HASH": -1085701786,
|
||||
"conflict_resolution": {
|
||||
"com.google.errorprone:error_prone_annotations:2.5.1": "com.google.errorprone:error_prone_annotations:2.18.0"
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/MODULE.bazel b/MODULE.bazel
|
||||
index 400186b53..1194db9ca 100644
|
||||
--- a/MODULE.bazel
|
||||
+++ b/MODULE.bazel
|
||||
@@ -2,7 +2,7 @@
|
||||
# https://github.com/protocolbuffers/protobuf/issues/14313
|
||||
|
||||
module(
|
||||
- name = "protobuf",
|
||||
+ name = "com_google_protobuf_previous_release",
|
||||
version = "29.0", # Automatically updated on release
|
||||
compatibility_level = 1,
|
||||
repo_name = "com_google_protobuf",
|
||||
|
|
@ -1,280 +0,0 @@
|
|||
commit fc4d962f0bdfcaa1cc1b2e306301eec48719d847
|
||||
Author: Keith Smiley <keithbsmiley@gmail.com>
|
||||
AuthorDate: Tue Mar 3 15:14:28 2026 -0800
|
||||
Commit: Keith Smiley <keithbsmiley@gmail.com>
|
||||
CommitDate: Tue Mar 3 15:20:01 2026 -0800
|
||||
|
||||
NEED
|
||||
|
||||
diff --git a/bazel/upb_c_proto_library.bzl b/bazel/upb_c_proto_library.bzl
|
||||
index ebeebed..0bdf741 100644
|
||||
--- a/bazel/upb_c_proto_library.bzl
|
||||
+++ b/bazel/upb_c_proto_library.bzl
|
||||
@@ -1,5 +1,6 @@
|
||||
"""upb_c_proto_library() exposes upb's generated C API for protobuf (foo.upb.h)"""
|
||||
|
||||
+load("@rules_cc//cc/common:cc_info.bzl", "CcInfo")
|
||||
load("//bazel:upb_minitable_proto_library.bzl", "UpbMinitableCcInfo", "upb_minitable_proto_library_aspect")
|
||||
load("//bazel/common:proto_info.bzl", "ProtoInfo")
|
||||
load("//bazel/private:upb_proto_library_internal/aspect.bzl", "upb_proto_aspect_impl")
|
||||
diff --git a/bazel/upb_minitable_proto_library.bzl b/bazel/upb_minitable_proto_library.bzl
|
||||
index 0a17842..a77c572 100644
|
||||
--- a/bazel/upb_minitable_proto_library.bzl
|
||||
+++ b/bazel/upb_minitable_proto_library.bzl
|
||||
@@ -1,5 +1,7 @@
|
||||
"""upb_minitable_proto_library() exposes upb's generated minitables (foo.upb_minitable.h)"""
|
||||
|
||||
+load("@rules_cc//cc/common:cc_common.bzl", "cc_common")
|
||||
+load("@rules_cc//cc/common:cc_info.bzl", "CcInfo")
|
||||
load("//bazel/common:proto_info.bzl", "ProtoInfo")
|
||||
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")
|
||||
diff --git a/bazel/upb_proto_reflection_library.bzl b/bazel/upb_proto_reflection_library.bzl
|
||||
index 8347dfb..fb28ef3 100644
|
||||
--- a/bazel/upb_proto_reflection_library.bzl
|
||||
+++ b/bazel/upb_proto_reflection_library.bzl
|
||||
@@ -1,5 +1,6 @@
|
||||
"""upb_c_proto_reflection_library() exposes upb reflection for protobuf (foo.upbdefs.h)"""
|
||||
|
||||
+load("@rules_cc//cc/common:cc_info.bzl", "CcInfo")
|
||||
load("//bazel:upb_minitable_proto_library.bzl", "UpbMinitableCcInfo", "upb_minitable_proto_library_aspect")
|
||||
load("//bazel/common:proto_common.bzl", "proto_common")
|
||||
load("//bazel/common:proto_info.bzl", "ProtoInfo")
|
||||
diff --git a/build_defs/cc_proto_blacklist_test.bzl b/build_defs/cc_proto_blacklist_test.bzl
|
||||
index 260abde..2c100d9 100644
|
||||
--- a/build_defs/cc_proto_blacklist_test.bzl
|
||||
+++ b/build_defs/cc_proto_blacklist_test.bzl
|
||||
@@ -1,6 +1,7 @@
|
||||
"""Contains a unittest to verify that `cc_proto_library` does not generate code for blacklisted `.proto` sources (i.e. WKPs)."""
|
||||
|
||||
load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest")
|
||||
+load("@rules_cc//cc/common:cc_info.bzl", "CcInfo")
|
||||
|
||||
def _cc_proto_blacklist_test_impl(ctx):
|
||||
"""Verifies that there are no C++ compile actions for Well-Known-Protos.
|
||||
diff --git a/src/google/protobuf/BUILD.bazel b/src/google/protobuf/BUILD.bazel
|
||||
index 5cfd160..c9117de 100644
|
||||
--- a/src/google/protobuf/BUILD.bazel
|
||||
+++ b/src/google/protobuf/BUILD.bazel
|
||||
@@ -452,7 +452,6 @@ cc_library(
|
||||
"@com_google_absl//absl/numeric:bits",
|
||||
"@com_google_absl//absl/synchronization",
|
||||
"@com_google_absl//absl/types:span",
|
||||
- "@com_google_absl//absl/utility:if_constexpr",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -578,7 +577,6 @@ cc_library(
|
||||
"@com_google_absl//absl/time",
|
||||
"@com_google_absl//absl/types:optional",
|
||||
"@com_google_absl//absl/types:span",
|
||||
- "@com_google_absl//absl/utility:if_constexpr",
|
||||
],
|
||||
)
|
||||
|
||||
diff --git a/src/google/protobuf/compiler/java/full/BUILD.bazel b/src/google/protobuf/compiler/java/full/BUILD.bazel
|
||||
index 1fb6f07..b5b2cbd 100644
|
||||
--- a/src/google/protobuf/compiler/java/full/BUILD.bazel
|
||||
+++ b/src/google/protobuf/compiler/java/full/BUILD.bazel
|
||||
@@ -1,3 +1,5 @@
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
+
|
||||
# We use abbreviated target names in this directory to work around:
|
||||
# https://github.com/bazelbuild/bazel/issues/18683
|
||||
cc_library(
|
||||
diff --git a/src/google/protobuf/compiler/java/lite/BUILD.bazel b/src/google/protobuf/compiler/java/lite/BUILD.bazel
|
||||
index 1046739..92e82cc 100644
|
||||
--- a/src/google/protobuf/compiler/java/lite/BUILD.bazel
|
||||
+++ b/src/google/protobuf/compiler/java/lite/BUILD.bazel
|
||||
@@ -1,3 +1,5 @@
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
+
|
||||
cc_library(
|
||||
name = "field_generators",
|
||||
srcs = [
|
||||
diff --git a/src/google/protobuf/compiler/kotlin/BUILD.bazel b/src/google/protobuf/compiler/kotlin/BUILD.bazel
|
||||
index 5555ade..2ecc09a 100644
|
||||
--- a/src/google/protobuf/compiler/kotlin/BUILD.bazel
|
||||
+++ b/src/google/protobuf/compiler/kotlin/BUILD.bazel
|
||||
@@ -1,3 +1,5 @@
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
+
|
||||
cc_library(
|
||||
name = "kotlin",
|
||||
srcs = ["generator.cc"],
|
||||
diff --git a/src/google/protobuf/compiler/php/BUILD.bazel b/src/google/protobuf/compiler/php/BUILD.bazel
|
||||
index 7e21518..271e67b 100644
|
||||
--- a/src/google/protobuf/compiler/php/BUILD.bazel
|
||||
+++ b/src/google/protobuf/compiler/php/BUILD.bazel
|
||||
@@ -2,6 +2,7 @@
|
||||
# Protocol Buffers Compiler - PHP code generator
|
||||
################################################################################
|
||||
|
||||
+load("@rules_cc//cc:cc_test.bzl", "cc_test")
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
|
||||
load("//build_defs:cpp_opts.bzl", "COPTS")
|
||||
diff --git a/src/google/protobuf/compiler/rust/BUILD.bazel b/src/google/protobuf/compiler/rust/BUILD.bazel
|
||||
index 91c8145..50d0aa7 100644
|
||||
--- a/src/google/protobuf/compiler/rust/BUILD.bazel
|
||||
+++ b/src/google/protobuf/compiler/rust/BUILD.bazel
|
||||
@@ -2,6 +2,7 @@
|
||||
# Protocol Buffers Compiler - Rust code generator
|
||||
################################################################################
|
||||
|
||||
+load("@rules_cc//cc:cc_test.bzl", "cc_test")
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library")
|
||||
load("//build_defs:cpp_opts.bzl", "COPTS")
|
||||
|
||||
diff --git a/src/google/protobuf/compiler/test_plugin_injection.bzl b/src/google/protobuf/compiler/test_plugin_injection.bzl
|
||||
index aec2544..210d942 100644
|
||||
--- a/src/google/protobuf/compiler/test_plugin_injection.bzl
|
||||
+++ b/src/google/protobuf/compiler/test_plugin_injection.bzl
|
||||
@@ -28,6 +28,7 @@
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
load("//build_defs:cpp_opts.bzl", "COPTS")
|
||||
|
||||
# This works around https://github.com/bazelbuild/bazel/issues/19124 by using a generated header to
|
||||
@@ -55,8 +56,7 @@ cat <<'EOF' >$(OUTS)
|
||||
visibility = ["//visibility:private"],
|
||||
testonly = True,
|
||||
)
|
||||
-
|
||||
- native.cc_library(
|
||||
+ cc_library(
|
||||
name = name,
|
||||
hdrs = [hdr],
|
||||
strip_include_prefix = "/src",
|
||||
diff --git a/third_party/utf8_range/BUILD.bazel b/third_party/utf8_range/BUILD.bazel
|
||||
index 90b1088..2e07ede 100644
|
||||
--- a/third_party/utf8_range/BUILD.bazel
|
||||
+++ b/third_party/utf8_range/BUILD.bazel
|
||||
@@ -4,6 +4,8 @@
|
||||
# license that can be found in the LICENSE file or at
|
||||
# https://opensource.org/licenses/MIT.
|
||||
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
+load("@rules_cc//cc:cc_test.bzl", "cc_test")
|
||||
load("@rules_license//rules:license.bzl", "license")
|
||||
|
||||
DEFAULT_VISIBILITY = [
|
||||
diff --git a/upb/BUILD b/upb/BUILD
|
||||
index b282b6e..b5cbcfe 100644
|
||||
--- a/upb/BUILD
|
||||
+++ b/upb/BUILD
|
||||
@@ -6,7 +6,7 @@
|
||||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
|
||||
-load("@rules_python//python:defs.bzl", "py_binary")
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
load("//bazel/private:upb_proto_library_internal/copts.bzl", "upb_proto_library_copts")
|
||||
load(
|
||||
"//upb/bazel:amalgamation.bzl",
|
||||
diff --git a/upb/port/BUILD b/upb/port/BUILD
|
||||
index 9088825..a8e9a13 100644
|
||||
--- a/upb/port/BUILD
|
||||
+++ b/upb/port/BUILD
|
||||
@@ -5,6 +5,7 @@
|
||||
# license that can be found in the LICENSE file or at
|
||||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
load("//upb/bazel:build_defs.bzl", "UPB_DEFAULT_COPTS")
|
||||
|
||||
package(default_applicable_licenses = ["//:license"])
|
||||
diff --git a/upb_generator/bootstrap_compiler.bzl b/upb_generator/bootstrap_compiler.bzl
|
||||
index be2ff5f..8d9a017 100644
|
||||
--- a/upb_generator/bootstrap_compiler.bzl
|
||||
+++ b/upb_generator/bootstrap_compiler.bzl
|
||||
@@ -1,5 +1,7 @@
|
||||
"""Macros that implement bootstrapping for the upb code generator."""
|
||||
|
||||
+load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
load(
|
||||
"//bazel:upb_minitable_proto_library.bzl",
|
||||
"upb_minitable_proto_library",
|
||||
@@ -53,7 +55,7 @@ def bootstrap_cc_library(name, visibility = [], deps = [], bootstrap_deps = [],
|
||||
upb_proto_library().
|
||||
"""
|
||||
for stage in _stages:
|
||||
- native.cc_library(
|
||||
+ cc_library(
|
||||
name = name + stage,
|
||||
deps = deps + [dep + stage for dep in bootstrap_deps],
|
||||
visibility = _stage_visibility(stage, visibility),
|
||||
@@ -77,7 +79,7 @@ def bootstrap_cc_binary(name, visibility = [], deps = [], bootstrap_deps = [], *
|
||||
upb_proto_library().
|
||||
"""
|
||||
for stage in _stages:
|
||||
- native.cc_binary(
|
||||
+ cc_binary(
|
||||
name = name + stage,
|
||||
deps = deps + [dep + stage for dep in bootstrap_deps],
|
||||
visibility = _stage_visibility(stage, visibility),
|
||||
@@ -212,7 +214,7 @@ def bootstrap_upb_proto_library(
|
||||
_stage0_proto_staleness_test(name, oss_src_files, oss_src_rules, oss_strip_prefix)
|
||||
|
||||
# stage0 uses checked-in protos, and has no MiniTable.
|
||||
- native.cc_library(
|
||||
+ cc_library(
|
||||
name = name + "_stage0",
|
||||
srcs = _generated_hdrs_and_srcs(oss_src_files, "stage0", "upb"),
|
||||
hdrs = [bootstrap_hdr],
|
||||
@@ -231,8 +233,7 @@ def bootstrap_upb_proto_library(
|
||||
# Generate stage1 protos (C API and MiniTables) using stage0 compiler.
|
||||
_generate_stage1_proto(name, src_files, src_rules, "upb", kwargs)
|
||||
_generate_stage1_proto(name, src_files, src_rules, "upb_minitable", kwargs)
|
||||
-
|
||||
- native.cc_library(
|
||||
+ cc_library(
|
||||
name = name + "_minitable_stage1",
|
||||
srcs = _generated_files(src_files, "stage1", "upb_minitable", "c"),
|
||||
hdrs = _generated_files(src_files, "stage1", "upb_minitable", "h"),
|
||||
@@ -243,7 +244,7 @@ def bootstrap_upb_proto_library(
|
||||
] + [dep + "_minitable_stage1" for dep in deps],
|
||||
**kwargs
|
||||
)
|
||||
- native.cc_library(
|
||||
+ cc_library(
|
||||
name = name + "_stage1",
|
||||
srcs = _generated_files(src_files, "stage1", "upb", "h"),
|
||||
hdrs = [bootstrap_hdr],
|
||||
@@ -262,7 +263,7 @@ def bootstrap_upb_proto_library(
|
||||
deps = proto_lib_deps,
|
||||
**kwargs
|
||||
)
|
||||
- native.cc_library(
|
||||
+ cc_library(
|
||||
name = name,
|
||||
hdrs = [bootstrap_hdr],
|
||||
deps = [name + "_upb_proto"],
|
||||
diff --git a/upb_generator/common/BUILD b/upb_generator/common/BUILD
|
||||
index 8687b7f..982ba6f 100644
|
||||
--- a/upb_generator/common/BUILD
|
||||
+++ b/upb_generator/common/BUILD
|
||||
@@ -5,6 +5,8 @@
|
||||
# license that can be found in the LICENSE file or at
|
||||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
+
|
||||
package(default_applicable_licenses = ["//:license"])
|
||||
|
||||
# Note: this library should not depend on upb reflection or C++ proto
|
||||
diff --git a/upb_generator/minitable/BUILD b/upb_generator/minitable/BUILD
|
||||
index a5eadfe..62a153e 100644
|
||||
--- a/upb_generator/minitable/BUILD
|
||||
+++ b/upb_generator/minitable/BUILD
|
||||
@@ -5,6 +5,7 @@
|
||||
# license that can be found in the LICENSE file or at
|
||||
# https://developers.google.com/open-source/licenses/bsd
|
||||
|
||||
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
|
||||
load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain")
|
||||
load("//upb/bazel:build_defs.bzl", "UPB_DEFAULT_CPPOPTS")
|
||||
load(
|
||||
21
patches/protobuf_v33/0001-Update-module-name.patch
Normal file
21
patches/protobuf_v33/0001-Update-module-name.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
--- a/MODULE.bazel
|
||||
+++ b/MODULE.bazel
|
||||
@@ -5,3 +5,3 @@
|
||||
module(
|
||||
- name = "protobuf",
|
||||
+ name = "com_google_protobuf_previous_release",
|
||||
version = "33.0", # Automatically updated on release
|
||||
@@ -293,13 +293,1 @@
|
||||
)
|
||||
-
|
||||
-bazel_dep(name = "com_google_protobuf_previous_release", version = "29.0", dev_dependency = True)
|
||||
-archive_override(
|
||||
- module_name = "com_google_protobuf_previous_release",
|
||||
- integrity = "sha256-EKDVjzmhqQnpXgDougtbHcZNApl/dBFRlTorNln254w=",
|
||||
- patch_strip = 1,
|
||||
- patches = [
|
||||
- "@com_google_protobuf//:patches/protobuf_v29/0001-Update-module-name.patch",
|
||||
- ],
|
||||
- strip_prefix = "protobuf-29.0",
|
||||
- urls = ["https://github.com/protocolbuffers/protobuf/releases/download/v29.0/protobuf-29.0.tar.gz"],
|
||||
-)
|
||||
1
third_party/jsoncpp.BUILD
vendored
1
third_party/jsoncpp.BUILD
vendored
|
|
@ -24,7 +24,6 @@ cc_library(
|
|||
],
|
||||
copts = [
|
||||
"-DJSON_USE_EXCEPTION=0",
|
||||
"-DJSON_HAS_INT64",
|
||||
],
|
||||
includes = ["include"],
|
||||
visibility = ["//visibility:public"],
|
||||
|
|
|
|||
|
|
@ -44,12 +44,12 @@ def parse_include(line):
|
|||
|
||||
class Amalgamator:
|
||||
|
||||
def __init__(self, h_out, c_out):
|
||||
def __init__(self, output_h, output_c, h_out_filename):
|
||||
self.include_paths = ["."]
|
||||
self.included = set()
|
||||
self.output_h = open(h_out, "w")
|
||||
self.output_c = open(c_out, "w")
|
||||
self.h_out = h_out.split("/")[-1]
|
||||
self.output_h = output_h
|
||||
self.output_c = output_c
|
||||
self.h_out = h_out_filename
|
||||
|
||||
def amalgamate(self, h_files, c_files):
|
||||
self.h_files = set(h_files)
|
||||
|
|
@ -138,7 +138,7 @@ class Amalgamator:
|
|||
|
||||
c_out = sys.argv[1]
|
||||
h_out = sys.argv[2]
|
||||
amalgamator = Amalgamator(h_out, c_out)
|
||||
|
||||
c_files = []
|
||||
h_files = []
|
||||
|
||||
|
|
@ -149,4 +149,6 @@ for arg in sys.argv[3:]:
|
|||
else:
|
||||
c_files.append(arg)
|
||||
|
||||
amalgamator.amalgamate(h_files, c_files)
|
||||
with open(h_out, "w") as output_h, open(c_out, "w") as output_c:
|
||||
amalgamator = Amalgamator(output_h, output_c, h_out.split("/")[-1])
|
||||
amalgamator.amalgamate(h_files, c_files)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue