Skip to content

[FIX] Add several fixes from internal team requests.#1

Open
tjoneslo wants to merge 4 commits into
mainfrom
update_fixes_for_internal
Open

[FIX] Add several fixes from internal team requests.#1
tjoneslo wants to merge 4 commits into
mainfrom
update_fixes_for_internal

Conversation

@tjoneslo
Copy link
Copy Markdown

@tjoneslo tjoneslo commented May 12, 2026

  • Move the servicetalk providers into their own files for external use.
  • Fix service_talk_proto_library using (unmodifiable) depsets and replace then with lists.
  • set the servicetalk deps as neverlink = True to avoid pollution of the user's maven deps.
  • Set the TOOLCHAIN_TYPE to be explicit for rules_servicetalk.
  • repin test maven lock files

The reason for the conversion of the transitive_java_infos to a list, rather than a depset() is in support for Bazel 8. In Bazel 8, the rules_java and the JavaInfo are booted from the internal bazel to the external rules_java. And in there the JavaInfo is now a struct and no longer marked as immutable. And can't be included in a depset. And the rest of the change in the library.bzl is fallout from that one change.

tjoneslo added 3 commits May 12, 2026 08:18
 - Move the servicetalk providers into their own files for external use.
 - Fix service_talk_proto_library using (unmodifiable) depsets and replace then with lists.
 - set the servicetalk deps as neverlink = True to avoid polution of the user's maven deps.

compile_time_deps = depset([], transitive = [pi.transitive_jars for pi in all_proto_info])
compile_time_infos = depset([], transitive = [pi.transitive_java_infos for pi in all_proto_info])
compile_time_infos = [info for pi in all_proto_info for info in pi.transitive_java_infos]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will this not result in O(n^2) cpu and memory usage that using depset allows us to avoid?

fields = {
"jar": "Path to the generated jar",
"transitive_jars": "depset of all jars required so far",
"transitive_java_infos": "depset of all JavaInfos, suitable for use with java_common.compile",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is no longer true

…y one problem with the JavaInfo being a mutable object now.
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