Adds set to import flags generation so each path is only added once#6891
Adds set to import flags generation so each path is only added once#6891nickgeorge wants to merge 1 commit into
Conversation
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
|
Hi Nick! Thanks for the PR, but we actually stopped accepting PRs to master branch due to a code yellow until our next release (possibly next week). I understand that you need it to get done as soon as possible for the launch, but Is it possible to depend on the local branch for now? |
|
@dankurka since we don't pull in protobuf.bzl to Google3, will it be okay to make an exception here and merge it before the CY ends? |
|
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
|
@nickgeorge Thank you for the pull request, but I believe this problem ended up being fixed in #7458. |
Note: this is currently blocking the release of github.com/google/fhir on MacOS, which we are trying to get out for the major FHIR conference of the year starting next week
Currently, if many protos are included from the same location, the paths will be added once per import, which is redundant. In extreme cases, such as https://github.com/google/fhir/blob/master/proto/r4/core/resources/bundle_and_contained_resource.proto , this causes the generation to fail entirely on certain platforms, including MacOS
The pathological case is a proto_library X which depends on a large
number of proto_libraries Y1...Yn, each of which depends on a common
set of proto_libraries Z1...Zm. Without deduplication, import paths for
Z1...Zm will be repeated n times.