Skip to content

Conversation

@vkarampudi
Copy link
Collaborator

No description provided.

vkarampudi and others added 13 commits April 3, 2025 22:22
Update 0.48.0 in version.py and RELEASE.md
…tion

Protobuf 4.x removed py_proto_library and changed proto_library behavior. This commit:

- Creates _py_proto_library_rule: a custom Bazel rule that accepts ProtoInfo or PyInfo,
  runs protoc to generate Python _pb2.py files, and provides PyInfo for Python deps
- Replaces deprecated py_proto_library calls with custom rule implementation
- Configures protoc proto_path to include workspace dirs and external dependencies
- Adds local any.proto copies to bypass sandbox limitations in proto imports
- Applies compatibility patches to TensorFlow and TensorFlow Metadata dependencies
- Updates all s2t_proto_library_py calls to work with new implementation

Fixes: Protobuf 4.23.4 compatibility for struct2tensor build system
This patch extends tensorflow.patch with changes to support:

1. Abseil backward compatibility:
   - Add absl_base_prefetch.h compatibility shim for older Abseil
     versions that lack absl/base/prefetch.h
   - Update prefetch includes across TensorFlow/TSL to use the shim
   - Add inline implementation of NullTerminatedMessage for older
     Abseil versions without StatusMessageAsCStr

2. Protobuf 4.x support:
   - Refactor cc_proto_library to use native proto_library and
     cc_proto_library rules instead of custom proto_gen
   - Implement custom _tsl_py_proto_library_rule to replace the
     built-in py_proto_library removed in Protobuf 4.x
   - Update proto library generation to depend on generated
     cc_proto_library targets

3. Build cleanup:
   - Remove unused absl/strings:string_view dependency
   - Update BUILD files to reflect new dependency structure

These changes enable building struct2tensor with older Abseil versions
while supporting Protobuf 4.x, improving compatibility across different
dependency versions.
Remove vendored google/protobuf/any.proto and obsolete third_party/README.md
Upgrade `struct2tensor` to Protobuf 4.25.6 with compatibility patches
Prefix cc_binary and cc_library with native. in struct2tensor.bzl
Use native prefix for Bazel rules in macros
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants