-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
tools: api_booster tool for upgrading Envoy APIs (tool only) #9329
Conversation
This is a beachhead PR for a Clang Libtooling based workflow that automagically updates Envoy's source tree to the latest API version for every referenced package. So far, ths tool is only capable of inferring types and performing header fixups, later PRs will expand this. Risk level: Low Testing: Manual cleanup of all headers in source/ test/ and include/, all tests pass. Part of envoyproxy#8082 Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
@@ -12,6 +12,10 @@ namespace Config { | |||
namespace { | |||
|
|||
TEST(ApiTypeOracleTest, All) { | |||
// For proto descriptors only | |||
static_cast<void>(envoy::config::filter::http::ip_tagging::v2::IPTagging::RequestType()); |
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.
This change and the BUILD fixes are not strictly part of the tooling, but they are nop changes to the rest of the tree that are needed to test the tool; they fix missing deps and linking requirements.
Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Harvey Tuch <htuch@google.com>
# Figure out where the LLVM include path is. We need to provide this | ||
# explicitly as the api_booster is built inside the Bazel cache and doesn't | ||
# know about this path. | ||
# TODO(htuch): this is fragile and depends on Clang version, should figure out |
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.
from the previous PR, what do we actually include from versioned include?
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.
Copy+pasting:
If I don't declare this as -isystem
, I see:
...clang-9.0/lib/clang/9.0.0/include/mmintrin.h:50:12: error: use of old-style cast [-Werror,-Wold-style-cast]
return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
since it doesn't recognize these libraries as system libs (and hence subject to relaxation of the warning).
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
This applies the API booster in envoyproxy#9329 to the Envoy tree. So far it just figures out the correct include headers based on encountered API protos, more to follow. Risk level: Low Testing: bazel test //test/.... Signed-off-by: Harvey Tuch <htuch@google.com>
This applies the API booster in #9329 to the Envoy tree. So far it just figures out the correct include headers based on encountered API protos, more to follow. Risk level: Low Testing: bazel test //test/.... Signed-off-by: Harvey Tuch <htuch@google.com>
…oxy#9329) This is a beachhead PR for a Clang Libtooling based workflow that automagically updates Envoy's source tree to the latest API version for every referenced package. So far, ths tool is only capable of inferring types and performing header fixups, later PRs will expand this. Risk level: Low Testing: Manual cleanup of all headers in source/ test/ and include/, all tests pass. Part of envoyproxy#8082 Signed-off-by: Harvey Tuch <htuch@google.com> Signed-off-by: Prakhar <prakhar_au@yahoo.com>
This applies the API booster in envoyproxy#9329 to the Envoy tree. So far it just figures out the correct include headers based on encountered API protos, more to follow. Risk level: Low Testing: bazel test //test/.... Signed-off-by: Harvey Tuch <htuch@google.com> Signed-off-by: Prakhar <prakhar_au@yahoo.com>
(Tool only split from #9258, to simplify review)
This is a beachhead PR for a Clang Libtooling based workflow that automagically updates Envoy's
source tree to the latest API version for every referenced package. So far, ths tool is only capable
of inferring types and performing header fixups, later PRs will expand this.
Risk level: Low
Testing: Manual cleanup of all headers in source/ test/ and include/, all tests pass.
Part of #8082