Module encapsulation of C++ core library code #13044
zhztheplayer
started this conversation in
Ideas
Replies: 2 comments 5 replies
-
@pedroerp A minor refactor like this will help moving the Java bindings work forward (monorepo). But it's a breaking change for dependent projects (CMake root for Velox is relocated). cc @assignUser |
Beta Was this translation helpful? Give feedback.
0 replies
-
This is how apache/arrow is structured as well e.g. the R bindings are in |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Idea derived from #12808 (reply in thread).
This is to suggest a folder structure change, mainly by moving the top level
CMakeList.txt
to foldervelox
to make the foldervelox
can be individually compilable to build a C++ core Velox library.By doing this, for new language bindings, e.g., Java bindings, we can rely on a folder-to-folder dependency relationship from the language bindings to the core C++ code. This says, we will have
So the language bindings (java, python) code does not have to access the repository root, but rather directly rely on the core C++ library
velox/velox
as the dependency.This will make it easier for language bindings to handle the C++ Velox dependency, for example, when the Java library tends to pin C++ Velox code on a fixed Velox commit, it could selectively download the source code in
velox/velox
from that commit. So recursive content undervelox/java
in a different commit could be avoided.Beta Was this translation helpful? Give feedback.
All reactions