-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[test_common/BUILD] Start dissolving :printers_include rule. #14429
Conversation
Hi @tkoeppe, welcome and thank you for your contribution. We will try to review your Pull Request as quickly as possible. In the meantime, please take a look at the contribution guidelines if you have not done so already. |
A rule that exports a header without defining all the symbols declared by that header causes ODR violations. Basically, Bazel rules should never contain "include" rules like this. Rather, printer.h and printer.cc should be served from the same library. This change is a cautious, local first step. A second step can later remove the printer_include rule and replace its uses with printer_lib. Signed-off-by: Thomas Köppe <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a good start! Want to just swap the libraries here? I think it's fine to do in one PR.
Thanks! Let's do it in steps please if that's OK. I already tested this change against Google's codebase, and it's nice and small. For the follow-up, we'll have to touch a couple of users (and it has the potential to break external users whom we can't test), so it might be nice to keep that as a separate step. I'll make the next PR now if you like. |
Thanks! I'll test the next step locally first. |
Next step in #14442. |
* master: (49 commits) sds: allow multiple init managers share sds target (envoyproxy#14357) [http] Remove legacy codecs (envoyproxy#14381) http2: Add integration tests for METADATA and RST_STREAM frame flood mitigation for upstream servers (envoyproxy#14365) test: start dissolving :printers_include rule. (envoyproxy#14429) integration tests: re-enable set_node_on_first_message_only (envoyproxy#14270) formatter: add a formatter that returns a google::protobuf::Struct rather than a string (envoyproxy#14258) ratelimit: support returning custom response bodies for non-OK responses from the external ratelimit service (envoyproxy#14189) deps: update protobuf to 3.14 (envoyproxy#14253) stream_info: add setResponseCode and update local_reply to take a normal StreamInfo (envoyproxy#14402) http: alpn upstream (envoyproxy#13922) Moved starttls integration test to test/extensions/transport_sockets/starttls. (envoyproxy#14425) generic conn pool: directly use thread local cluster (envoyproxy#14423) wasm: add mathetake to CODEOWNERS (envoyproxy#14427) wasm: clear route cache when modifying HTTP request headers. (envoyproxy#14318) tls: disable TLS inspector injection (envoyproxy#14404) aggregate cluster: cleanups (envoyproxy#14411) Mark starttls_integration_test flaky on Windows (envoyproxy#14419) tcp: improved unit testing (envoyproxy#14415) config: making protocol config explicit (envoyproxy#14362) wasm: dead code (envoyproxy#14407) ... Signed-off-by: Michael Puncel <[email protected]>
Commit Message:
[test_common/BUILD] Start dissolving :printers_include rule.
Additional Description:
A rule that exports a header without defining all the symbols declared
by that header causes ODR violations. Basically, Bazel rules should
never contain "include" rules like this. Rather, printer.h and
printer.cc should be served from the same library.
This change is a cautious, local first step. A second step can later
remove the printer_include rule and replace its uses with printer_lib.
Risk Level: low(?)
Testing:
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a