-
Notifications
You must be signed in to change notification settings - Fork 552
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: introduce foundational base library #15968
Conversation
Adds <module>/include path to includes directory when linking against a v::lib library, which is intended to be the pattern for exposing public headers from a module. The default include path of the root of the tree is also removed because it is currently handled in the root cmake file and will later be removed. Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
The base library is a foundational library. The rough guidelines for determining if something belongs in the base library are: 1. It would be reasonable if every target depended on it (e.g. vlog.h). 2. It contains no dependencies on other Redpanda targets (e.g. utils). 3. Its external dependencies may also be considered foundational (e.g. seastar). 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.
❤️ it!
I hope the header moves were automated 😄
@@ -0,0 +1,6 @@ | |||
The base library is a foundational library. The rough guidelines for determining |
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.
I really like having READMEs in every module for documentation.
src/v/base/CMakeLists.txt
Outdated
@@ -1 +1,7 @@ | |||
v_cc_library(NAME base) | |||
|
|||
rp_test( |
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.
Should this be in the standard tests
directory?
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.
ah, yeh, thanks. will push an extra commit after we see if this things builds in CI
my second favorite webpage on the internet is https://blog.jasonmeridth.com/posts/use-git-grep-to-replace-strings-in-files-in-your-git-repository/ |
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.
+1 sweet
ducktape was retried in https://buildkite.com/redpanda/redpanda/builds/43501#018cdbb1-6bcb-4476-84be-fddf645e81f8 |
The base library is a foundational library. The rough guidelines for determining
if something belongs in the base library are:
Currently this includes things like seastarx.h, vlog.h, etc...
This is a necessary step towards header isolation, because we can no longer default include the root directory.
Backports Required
Release Notes