-
Notifications
You must be signed in to change notification settings - Fork 553
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
build: add container and strings library #16144
Conversation
Initially contains boost intrusive list helpers. Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Initially contains utf8 and string_switch utilities. Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
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.
LGTM, organizationally, do we want to start grouping some of these smaller utility libraries into a directory somewhere? I think it can be hard to grok all the top level libraries (not sure if you're planning on doing this later or not).
Similarly with v::container
, that feels like it could grow a lot - should frag_vec go there for instance? Should we separate out v::container
into v::container_list
, v::container_fragvec
, etc? That's a bit more of the absl organization path. Our current include
scheme doesn't support multiple targets in the same directory, so I think we need mor directories
Yep, completely agree. If we don't mind an extra directory level like One thing i'm unclear about is how soon we should do that. Wait until we break things out fine grained and the build is strict then reconsolidate, or can we see how things should be now and just move to that point? |
bad test! |
I don't have strong opinions here. I would personally do it now, but we can certainly wait until the dust settles first, I don't think there are any issues with waiting except for the idea that we're currently churning the code a bit here, and we may not want to do that too frequently. |
Did we intentionally not backport this? Feels like this will make lots of backports require explicit changes. |
not intentionally. i guess we could. it should only affect changes to the containers that would be problematic, right? all the include paths are the same. |
Maybe I am misunderstanding but they change from:
to
no? |
ahh, yes you are correct. most of the module changes (e.g. http,bytes,compression,etc...) don't have include path changes. container and strings yes are new modules so they'll change. |
The
v::bytes
library had implicit dependency onv::utils
due to header-only dependencies. In reality it would be far better to have explicit dependencies, and allowv::utils
to depend onv::bytes
. Currently this would create a circular dependency problem.This PR breaks out a few things from
utils
to partially break this dependency:Now v::bytes depends on these two new foundational libraries.
Backports Required
Release Notes